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

Scalar

功能说明

定义Scalar变量。

函数原型

Scalar(dtype="int64", name="reg_buf", init_value=None)

参数说明

表1 参数说明

参数名称

输入/输出

含义

dtype

输入

指定Scalar对象的数据类型,取值:

int8,uint8,int16, uint16,float16,int32,uint32,float32, int64, uint64

默认值:int64

name

输入

Scalar名字,支持string类型。名字支持数字0-9,A-Z,a-z及下划线组成的字符串,不允许以数字开头

默认值:reg_buf$(COUNT), COUNT从零开始计数。

init_value

输入

初始化值: 可以是立即数(支持int, float类型)、

Scalar变量(支持int, float类型)、

Tensor的某个值、

Expr:包括Scalar变量、立即数组成的Expr。

须知:

如果是Expr,立即数不能是float。

支持的型号

Atlas 200/300/500 推理产品

Atlas 训练系列产品

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

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

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

Atlas 200/500 A2推理产品

注意事项

1、当初始化值是Expr时,立即数不能是float类型,只能是整数型。例如:

from tbe import tik
tik_instance = tik.Tik()
index_reg = tik_instance.Scalar(dtype="float32")
#立即数:float
index_reg.set_as(10.2)

#通过init_value对scalar赋初始值
index_reg1 = tik_instance.Scalar(dtype="float32", init_value=10.2)
 
index_reg2 = tik_instance.Scalar(dtype="float32")
#Expr,立即数为float,ccec编译错误,硬件不支持。
#index_reg2.set_as(index_reg + 2.2)

2、不建议直接使用默认的int64数据类型,应根据实际Scalar需要确定数据类型。

3、当dtype为bfloat16时,不支持算数运算,例如:加减乘除、左右位移、大小比较。

返回值

Scalar类的实例。

调用示例

from tbe import tik
tik_instance = tik.Tik()
#立即数:整数
index_reg = tik_instance.Scalar(dtype = "int32")
index_reg.set_as(10)   

#立即数:float
index_reg2 = tik_instance.Scalar(dtype = "float16")
index_reg2.set_as(10.2) 

#Scalar变量
index_reg3 = tik_instance.Scalar(dtype = "float16")
index_reg3.set_as(index_reg2)  

#Tensor某个值
data_A = tik_instance.Tensor("float16", (128,), name="data_A", scope=tik.scope_ubuf)
index_reg3.set_as(data_A[0])//tensor的某个值

#Expr
index_reg4 = tik_instance.Scalar(dtype = "int32")
index_reg4.set_as(index_reg + 20) 
搜索结果
找到“0”个结果

当前产品无相关内容

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