EmbeddingBag

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)[源代码]

这是一个具有量化打包权重输入的量化 EmbeddingBag 模块。我们采用了与 torch.nn.EmbeddingBag 相同的接口,请参阅 文档 获取更多信息。

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

变量

weight (Tensor) – 模块的非可学习量化权重,形状为$(\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])
classmethodfrom_float(mod, use_precomputed_fake_quant=False)[源代码]

从浮点模块创建一个量化的 embedding_bag 模块

参数

mod (Module) – 一个浮点类型的模块,该模块可以是由 torch.ao.quantization 工具生成的,也可以是由用户提供的。

本页目录