评价此页

EmbeddingBag#

class torch.ao.nn.quantized.EmbeddingBag(num_embeddings, embedding_dim, max_norm=None, norm_type=2.0, scale_grad_by_freq=False, mode='sum', sparse=False, _weight=None, include_last_offset=False, dtype=torch.quint8)[source]#

一个量化的 EmbeddingBag 模块,以量化的打包权重作为输入。我们采用了与 torch.nn.EmbeddingBag 相同的接口,有关文档请参阅 https://pytorch.ac.cn/docs/stable/generated/torch.nn.EmbeddingBag.html

EmbeddingBag 类似,属性将在模块创建时随机初始化,之后会被覆盖。

变量

weight (Tensor) – 模块的非学习量化权重,形状为 (num_embeddings,embedding_dim)(\text{num\_embeddings}, \text{embedding\_dim})

示例:
>>> m = nn.quantized.EmbeddingBag(num_embeddings=10, embedding_dim=12, include_last_offset=True, mode='sum')
>>> indices = torch.tensor([9, 6, 5, 7, 8, 8, 9, 2, 8, 6, 6, 9, 1, 6, 8, 8, 3, 2, 3, 6, 3, 6, 5, 7, 0, 8, 4, 6, 5, 8, 2, 3])
>>> offsets = torch.tensor([0, 19, 20, 28, 28, 32])
>>> output = m(indices, offsets)
>>> print(output.size())
torch.Size([5, 12])
classmethod from_float(mod, use_precomputed_fake_quant=False)[source]#

从浮点模块创建量化 embedding_bag 模块

参数

mod (Module) – 一个浮点模块,由 torch.ao.quantization 工具生成或用户提供