pypto.logical_not#
产品支持情况#
Ascend 950PR/Ascend 950DT:支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
功能说明#
输入Tensor中的0对应转换为True,非0值转换为False。
函数原型#
logical_not(input: Tensor) -> Tensor
参数说明#
参数名 |
输入/输出 |
说明 |
|---|---|---|
input |
输入 |
源操作数。 |
返回值说明#
返回输出Tensor,Tensor的数据类型为DT_BOOL,Shape与源操作数input Shape相同。
约束说明#
TileShape与input维度保持一致;
由于存在临时内存使用,当输入数据类型为DT_FP32,TileShape大小有额外约束,假设TileShape为[a,b,c,d],那么a*b*c*d*sizeof(self) + a*b*c*d*sizeof(BOOL) + 20.25KB<UB。其他输入数据类型应该满足,a*b*c*d*sizeof(self) + a*b*c*d*sizeof(BOOL) + 12.54KB<UB
当输入数据类型为DT_INT16、DT_UINT16、DT_INT32、DT_UINT32时,走整数计算路径,临时内存占用与输入数据类型相关:DT_INT16/DT_UINT16需4KB,DT_INT32/DT_UINT32需8KB。TileShape大小约束为:a*b*c*d*sizeof(self) + a*b*c*d*sizeof(BOOL) + sizeof(self)*2KB<UB。
Tensor类型输入不支持
TileOpFormat.TILEOP_NZ格式。
调用示例#
TileShape设置示例#
说明:调用该operation接口前,应通过set_vec_tile_shapes设置TileShape。
TileShape维度应和输出一致。
示例1:输入input shape为[m, n],输出为[m, n],TileShape设置为[m1, n1],则m1, n1分别用于切分m, n轴。
pypto.set_vec_tile_shapes(4, 16)
接口调用示例#
a = pypto.tensor([5], pypto.DT_INT32)
out = pypto.logical_not(a)
结果示例如下:
输入数据x: [0 1 2 3 4]
输出数据y: [True False False False False]