pypto.unpack#
产品支持情况#
Ascend 950PR:支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
功能说明#
数据解包,将UINT8类型的输入Tensor转换为指定数据类型的输出Tensor。
函数原型#
unpack(self: Tensor, dstDataType: DataType) -> Tensor
参数说明#
参数名 |
输入/输出 |
说明 |
|---|---|---|
self |
输入 |
源操作数。 |
dstDataType |
输入 |
指定输出数据类型。 |
返回值说明#
返回Tensor类型。其shape为一维,数据类型为dstDataType指定的类型,元素数量为输入Tensor元素数除以dstDataType的字节数。即将输入Tensor的连续字节按dstDataType的字节宽度重新解释为对应类型的元素。
约束说明#
InputShape、ValidShape、TileShape必须能被
dstDataType的字节数整除。Shape Size不大于2147483647(即INT32_MAX)。
Tensor类型输入不支持
TileOpFormat.TILEOP_NZ格式。
调用示例#
TileShape设置示例#
调用该operation接口前,应通过set_vec_tile_shapes设置TileShape。
TileShape维度应和输入一致。
如输入input shape为[n],输出shape为[m](其中 m = n / sizeof(dstDataType)),TileShape设置为[t],则t用于切分输入轴n。
pypto.set_vec_tile_shapes(16)
接口调用示例#
x = pypto.tensor([6, 5, 4, 3, 8, 6, 5, 1], pypto.DT_UINT8)
y = pypto.unpack(x, pypto.DT_INT32)
结果示例如下:
输入数据x: [ 6 5 4 3 8 6 5 1 ] # DT_UINT8, shape=[8]
输出数据y: [ 0x03040506 0x01050608 ] # DT_INT32, shape=[2]
说明:输入的8个UINT8元素每4个字节解释为1个INT32元素,因此8个UINT8元素解包为2个INT32元素。