set_as
功能说明
设置或者改变Scalar的值。
函数原型
set_as(value, src_offset=None)
参数说明
支持的型号
注意事项
- 不支持Scalar(float16)和Scalar(float32)之间相互赋值,仅支持同类型相互赋值,例如:Scalar(float16)和Scalar(float16)。
- 不支持Scalar(int/uint)和Scalar(float16/float32)之间的相互赋值。
- 支持Expr赋值给Scalar(int/uint),要求Expr中的Scalar类型为Scalar(int/uint),立即数类型为(int/float)。
- 不支持任何类型的Expr赋值给Scalar(float16/float32)。
返回值
无
调用示例
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)
父主题: Scalar管理