功能
根据indices从weight中获得一组被聚合的数,然后根据offsets的偏移和mode指定的聚合模式对获取的数进行max、sum、mean聚合。其余参数则更细化了计算过程的控制。
输入
- weight:输入Tensor,词嵌入矩阵,包含所有词的嵌入向量,支持2维,支持非连续Tensor,数据类型:float,shape,数据格式支持ND。。
- indices:输入Tensor,包含索引的Tensor,指定要从weight中提取哪些词的嵌入向量,支持1-2维,数据类型:UINT8、INT8、INT16、INT32、INT64,shape。
- offset(可选):输入Tensor,用于将indices分割成多个bag的偏移量张量,当indices是1维时,offsets的shape支持1维。当indices是2维时,offsets的shape支持1-2维,数据类型:UINT8、INT8、INT16、INT32、INT64。
- per_sample_weights(可选):指定样本权重,shape支持1维,数据类型与weight一致,仅在sum模式下,可以不是nullptr,其他模式必须为nullptr。
属性
- mode:数据类型支持string型,用于控制聚合模式,0表示sum聚合模式,1表示mean聚合模式,其他表示max聚合模式。
- scale_grad_by_fraq:数据类型支持bool型,输入Tensor,用于控制是否根据词频缩放梯度,当scaleGradByFreq为true时,会根据词频对梯度进行缩放,当scaleGradByFreq为false时,则不会。
- sparse:数据类型支持bool型,用于控制稀疏模式,当为false时,表示weight非稀疏矩阵;当为true时,表示weight是稀疏矩阵。
- include_last_offset:数据类型支持bool型,控制是否包含最后的偏移,当为false时,表示不包含最后的偏移;当为true时,表示包含最后的偏移。
支持的ONNX版本
Opset v8/v9/v10/v11/v12/v13/v14/v15/v16