# pypto.logical_and
【免费下载链接】pyptoPyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
功能说明
对两个输入的Tensor行逐元素逻辑与(AND)运算。运算规则:
- 如果输入的Tensor为 bool 则 True and True -> True,其余情况皆为 False。
- 如果输入的Tensor数值,会自动转换成 True/False,0 为 False,非 0 为 True。
函数原型
logical_and(input: Tensor, other: Tensor) -> Tensor参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| input | 输入 | 源操作数。 支持的类型为:Tensor。 Tensor支持的数据类型为:DT_FP32,DT_FP16,DT_BF16,DT_INT8,DT_UINT8,DT_BOOL,DT_INT16,DT_INT32。 不支持空Tensor;Shape仅支持1-4维,支持输入Tensor的数据类型不同,支持单轴广播。Shape Size不大于2147483647(即INT32_MAX)。 |
| other | 输入 | 源操作数。 支持的类型为:Tensor。 Tensor支持的数据类型为:DT_FP32,DT_FP16,DT_BF16,DT_INT8,DT_UINT8,DT_BOOL,DT_INT16,DT_INT32。 不支持空Tensor;Shape仅支持1-4维,支持输入Tensor的数据类型不同,支持单轴广播。Shape Size不大于2147483647(即INT32_MAX)。 |
返回值说明
返回输出Tensor,Tensor的数据类型为DT_BOOL,形状为广播后的形状。
约束说明
- TileShape与input、other维度保持一致;
- 由于存在临时内存使用,TileShape大小有额外约束,假设TileShape为[a,b,c,d],那么a*b*c*d*sizeof(self) + a*b*c*d*sizeof(other) + a*b*c*d*sizeof(BOOL) + 1.1875KB<UB。
调用示例
TileShape设置示例
说明:调用该operation接口前,应通过set_vec_tile_shapes设置TileShape。
TileShape维度应和输出一致。
示例1:非广播场景,输入input shape为[m, n],other为[m, n],输出为[m, n],TileShape设置为[m1, n1],则m1, n1分别用于切分m, n轴。
pypto.set_vec_tile_shapes(4, 16)示例2:广播场景,输入input shape为[m, n],other为[m, 1],输出为[m, n],TileShape设置为[m1, n1],则m1, n1分别用于切分m, n轴。
pypto.set_vec_tile_shapes(4, 16)接口调用示例
x = pypto.tensor([2], pypto.DT_BOOL) y1 = pypto.tensor([2], pypto.DT_BOOL) z1 = pypto.logical_and(x, y1) # 支持广播 y2 = pypto.tensor([2,2], pypto.DT_BOOL) z2 = pypto.logical_and(x, y2)结果示例如下:
输入数据x: [True, False] 输入数据y1: [True, True] 输入数据y2: [[True, False], [False, True]] 输出数据z1: [True, False] 输出数据z2: [[True, False], [False, False]]【免费下载链接】pyptoPyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考