文档
注册
评分
提单
论坛
小AI

vcmpsel

功能说明

tensor lhs中的元素和rhs按operation处的操作进行比较,operation处的操作包括eq、ne、lt、gt、le、ge,依次表示==、!=、<、>、<=、>=。如果表达式成立,返回slhs对应的值,否则返回srhs对应的值。

以下通过表达式的方式来解释各操作的含义,其中a表示lhs中的元素,b表示rhs中的元素,c表示slhs中的元素,d表示srhs中的元素,res表示结果tensor的元素,表达式如下:
  • lt: res = c (a < b) or d (a >= b)
  • gt: res = c (a > b) or d (a <= b)
  • le: res = c (a <= b) or d (a > b)
  • ge: res = c (a >= b) or d (a < b)
  • eq: res = c (a == b) or d (a != b)
  • ne: res = c (a != b) or d (a == b)
  • 如果rhs为None,tensor lhs中的元素会与float数2.0进行比较。
  • 如果slhs为None,表达式成立时,返回lhs对应的值。
  • 如果srhs为None并且rhs类型为tensor,表达式不成立时,返回rhs对应的值。

如果srhs为None并且rhs类型为scalar,表达式不成立时,返回float数0.0。

函数原型

vcmpsel(lhs,rhs=None,operation='lt', slhs=None, srhs=None)

参数说明

  • lhs:进行比较操作的左操作数,tvm.tensor类型。
  • rhs:进行比较操作的右操作数,tvm.tensor 或者 scalar类型,默认为None。
  • slhs:比较表达式成立时返回的值,tvm.tensor或者 scalar类型,默认为None。
  • srhs:比较表达式不成立时返回的值,tvm.tensor或者 scalar类型,默认为None。
  • operation : 操作类型,支持eq, ne, lt, gt, ge, le,默认为lt。
  • 所有参数的数据类型需要一致。

    Atlas 200/300/500 推理产品:支持的数据类型有float16

    Atlas 训练系列产品:支持的数据类型有float16、float32

    Atlas 推理系列产品(Ascend 310P处理器):支持的数据类型有float16、float32

    Atlas 200I/500 A2推理产品:支持的数据类型有float16、float32

    Atlas A2训练系列产品/Atlas 800I A2推理产品:支持的数据类型有float16、float32

返回值

res_tensor:结果tensor ,tvm.tensor类型

约束说明

无。

支持的型号

Atlas 200/300/500 推理产品

Atlas 训练系列产品

Atlas 推理系列产品(Ascend 310P处理器)

Atlas 200I/500 A2推理产品

Atlas A2训练系列产品/Atlas 800I A2推理产品

调用示例

from tbe import tvm
from tbe import dsl
shape = (1024,1024)
input_dtype = "float16"
data1 = tvm.placeholder(shape, name="data1", dtype=input_dtype)
data2 = tvm.placeholder(shape, name="data2", dtype=input_dtype) 
data3 = tvm.placeholder(shape, name="data3", dtype=input_dtype)
data4 = tvm.placeholder(shape, name="data4", dtype=input_dtype)
res = dsl.vcmpsel(data1, data2, 'gt', data3, data4)
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词