文件最后提交记录最后更新时间
4 个月前
8 个月前
8 个月前
5 个月前
5 个月前
5 个月前
8 个月前
4 个月前
README

EmbeddingBag

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品
Kirin X90 处理器系列产品
Kirin 9030 处理器系列产品

功能说明

  • 算子功能:根据indices从weight中获得一组被聚合的数,然后根据offsets的偏移和mode指定的聚合模式对获取的数进行max、sum、mean聚合。其余参数则更细化了计算过程的控制。
    • shape推导方式如下: 假设:

      weight的shape为(numWeight, embeddingDim)
      indices的shape为(indices)
      offsets的shape为(offsets)
      
      • 当mode为sum模式:

        y的shape 为 include_last_offset ? (offsets - 1, embeddingDim) : (offsets, embeddingDim)
        offset2bag的shape 为 (indices,)
        bag_size的shape 为 include_last_offset ? (offsets - 1) : (offsets,)
        max_indices的shape 为 include_last_offset ? (offsets - 1) : (offsets,)
        
      • 当mode为mean模式:

        y的shape 为 include_last_offset? (offsets - 1, embeddingDim) : (offsets, embeddingDim)
        offset2bag的shape 为 (indices,)
        bag_size的shape 为 include_last_offset ? (offsets - 1) : (offsets,)
        max_indices的shape 为 include_last_offset ? (offsets - 1) : (offsets,)
        
      • 当mode为max模式:

        y的shape 为 include_last_offset ? (offsets - 1, embeddingDim) : (offsets, embeddingDim)
        offset2bag的shape 为 (indices,)
        bag_size的shape 为 include_last_offset ? (offsets - 1) : (offsets,)
        max_indices的shape 为 include_last_offset ? (offsets - 1, embeddingDim) : (offsets, embeddingDim)
        

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
weight 输入 词嵌入矩阵,包含所有词的嵌入向量。 FLOAT、FLOAT16、BFLOAT16 ND
indices 输入 包含索引的张量,指定要从weight中提取哪些词的嵌入向量。 INT32、INT64 ND
offsets 可选输入 用于将indices分割成多个bag的偏移量张量。 INT32、INT64 ND
per_sample_weights 可选输入 指定样本权重。 FLOAT、FLOAT16、BFLOAT16 ND
y 输出 词嵌入矩阵聚合后的结果。 FLOAT、FLOAT16、BFLOAT16 ND
offset2bag 输出 bag的起始偏移。 INT32、INT64 ND
bag_size 输出 每个bag的大小。 INT32、INT64 ND
max_indices 输出 当mode为max时,词嵌入向量最大值所在的行。 INT32、INT64 ND
mode 可选属性
  • 用于控制聚合模式。
  • 默认值为"mean"。
String -
scale_grad_by_freq 可选属性
  • 用于控制是否根据词频缩放梯度。
  • 默认值为false。
Bool -
sparse 可选属性
  • 用于控制稀疏模式。
  • 默认值为false。
Bool -
include_last_offset 可选属性
  • 控制是否包含最后的偏移。
  • 默认值为false。
Bool -
padding_idx 可选属性
  • 控制是否包含最后的偏移。
  • 默认值为-1。
Int -
  • Atlas 训练系列产品:不支持BFLOAT16。
  • Kirin X90/Kirin 9030处理器系列产品:不支持BFLOAT16。

约束说明

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_embedding_bag 通过aclnnEmbeddingBag接口方式调用EmbeddingBag算子。
图模式调用 test_geir_embedding_bag 通过算子IR构图方式调用EmbeddingBag算子。