IndexAddOperation
功能
固定维度的指定下标加上某个特定值。

定义
struct IndexAddParam { enum IndexType { INDEX_UNDEFINED = 0, INDEX_ADD, INDEX_ADD_VALID, }; IndexType indexType = INDEX_UNDEFINED; int64_t axis = 0; };
参数列表
成员名称 |
类型 |
默认值 |
描述 |
---|---|---|---|
indexType |
IndexType |
INDEX_UNDEFINED |
操作类型。
|
axis |
int64_t |
0 |
输入tensor需加上updates更新值的轴。
|
输入输出描述(INDEX_ADD)
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
var |
[d_0, ..., d_n] |
float16 |
ND |
输入tensor。被加数,输入为零,原地被加后作为输出。 |
indices |
[d_x] |
int32 |
ND |
输入tensor。指定固定维度的指定下标。d_min = min(d_x, d_axis),值域为[0, d_min),且前d_min个值不重复。 |
updates |
[d_0, ..., d_n] |
float16 |
ND |
输入tensor。加数,根据indices的值加到var对应位置。维度数与var一致。索引为axis的维度为d_x,即d_axis == d_x。 |
alpha |
[1] |
float16 |
ND |
输入tensor。累加次数。 |
output |
[d_0, ..., d_n] |
float16 |
ND |
输出tensor。与var为同一个Tensor,即二者数据类型、数据格式和地址等所有属性均相同。 |
min(x, y)表示取x和y两个数中的较小值。 d_axis表示var、updates和output在索引为axis的维度大小,即:若axis为0,则d_axis对应第0维大小d_0。 |
输入输出描述(INDEX_ADD_VALID)
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
var |
[d_1, d_2] |
float16 |
ND |
输入tensor。被加数,输入为零,原地被加后作为输出。 |
indices |
[d_0] |
int32 |
ND |
输入tensor。指定固定维度的指定下标。指定固定维度的指定下标。值域范围为[0, d_1)。 |
updates |
[d_0, d_2] |
float16 |
ND |
输入tensor。加数,根据indices的值加到var对应位置。 |
validIndicesNum |
[1] |
int32 |
ND |
输入tensor。indices的有效长度。值域范围为[0, d_0]。 |
output |
[d_1, d_2] |
float16 |
ND |
输出tensor。与var为同一个Tensor,即二者数据类型、数据格式和地址等所有属性均相同。 |
d_2取值范围为(0, 8192]。 |
接口调用示例
- indexType = INDEX_ADD
- indexType = INDEX_ADD_VALID