set_as

功能说明

设置或者改变Tensor 的内容。

函数原型

set_as(value, dst_offset=0, src_offset=None)

参数说明

表1 参数说明

参数名称

输入/输出

含义

value

输入

待设置的值。支持的数据类型:

  • Scalar类型。
  • Expr类型。
  • Tensor类型,要求Tensor 只有一个元素,否则取该Tensor的第一个元素。Tesnor的scope有如下约束:

    昇腾310 AI处理器,Tensor的scope 只能是scope_ubuf

    昇腾910 AI处理器,Tensor的scope 只能是scope_ubuf

    昇腾310P AI处理器AI Core,Tensor的scope可以是scope_ubuf和scope_gm

    昇腾310P AI处理器Vector Core,Tensor的scope可以是scope_ubuf和scope_gm

dst_offset

输入

保留参数,不建议使用。

src_offset

输入

保留参数,不建议使用。

支持的芯片型号

昇腾310 AI处理器

昇腾910 AI处理器

昇腾310P AI处理器AI Core

昇腾310P AI处理器Vector Core

注意事项

  1. Scalar赋值给Tensor时必须保证两者数据类型一致。
  2. 目的Tensor的类型只支持scope_ubuf。
  3. 只会对目的Tensor的第一个元素进行改变。
  4. 支持Expr赋值给Tensor(int/uint),要求Expr中的Scalar类型为Scalar(int/uint),立即数类型为(int/float)。
  5. 昇腾310 AI处理器,不支持任何类型的Expr赋值给Scalar(float16/float32)。

    昇腾910 AI处理器,不支持任何类型的Expr赋值给Scalar(float16)。

    昇腾310P AI处理器AI Core,不支持任何类型的Expr赋值给Scalar(float16)。

    昇腾310P AI处理器Vector Core,不支持任何类型的Expr赋值给Scalar(float16)。

返回值

调用示例

from tbe import tik
tik_instance = tik.Tik()
data_A = tik_instance.Tensor("float16", (128,), name="data_A", scope=tik.scope_ubuf)
data_B = tik_instance.Tensor("float16", (128,), name="data_A", scope=tik.scope_ubuf)
data_A[0].set_as(data_B[0:1])