下载
中文
注册

ConvertTo

函数功能

将Tensor的值转换为指定类型,支持float32、float16、int8、int32、uint8、int16、uint16、uint32、int64、uint64、double64、bool类型的转换。支持异步调用。

当前支持Atlas 推理系列产品Atlas 200I/500 A2 推理产品

Atlas 200I/500 A2 推理产品上,支持预加载(示例请参见初始化算子预加载文件实例”章节)。

使用时需满足以下条件:

  • 接口中的输入输出Tensor必须在Device或DVPP侧且各参数(stream及数据内存)需位于同一Device中。
  • 同步场景下,数据内存所在Device需与初始化的Device一致。
  • Atlas 推理系列产品上,src支持inplace操作。当src支持inplace操作时,输入输出Tensor支持HW/HWC/NHWC;支持u8和fp16/fp32类型的相互转换; 输出Tensor不允许设置ROI且输出Tensor的Shape宽高与src的ROI宽高需要保持一致。

函数原型

APP_ERROR ConvertTo(const Tensor &src, Tensor &dst, const MxBase::TensorDType &dataType, AscendStream& stream = AscendStream::DefaultStream());

参数说明

参数名

输入/输出

说明

src

输入

Tensor类,输入张量。

  • inplace操作时,src的ROI和dst的shape一致。
  • 非inplace操作时,src和dst的shape一致,

dst

输出

Tensor类,输出张量,支持传入空Tensor,如果dst不为空Tensor,需要调用Tensor.Malloc()接口提前分配内存。

dataType

输入

TensorDType类,指定转换的类型,需与“dst”的TensorDType属性相同。

stream

输入

AscendStream类型,默认值为AscendStream::DefaultStream()。当参数值为默认值时,接口为同步操作,其他情况下,接口为异步操作。

返回参数说明

数据结构

说明

APP_ERROR

程序执行返回的错误码,请参考APP_ERROR说明