ConvertTo
函数功能
将Tensor的值转换为指定类型,支持float32、float16、int8、int32、uint8、int16、uint16、uint32、int64、uint64、double64、bool类型的转换。支持异步调用,支持预加载(示例请参见初始化算子预加载文件示例)。
当前仅支持Atlas 推理系列产品。
使用时需满足以下条件:
- 接口中的输入输出Tensor必须在Device或DVPP侧且各参数(stream及数据内存)需位于同一Device中。
- 同步场景下,数据内存所在Device需与初始化的Device一致。
函数原型
APP_ERROR ConvertTo(const Tensor &src, Tensor &dst, const MxBase::TensorDType &dataType, AscendStream& stream = AscendStream::DefaultStream());
参数说明
| 参数名 | 输入/输出 | 说明 | 
|---|---|---|
| src | 输入 | Tensor类,输入张量,与输出张量具有相同大小。 | 
| dst | 输出 | Tensor类,输出张量,支持传入空Tensor,如果dst不为空Tensor,需要调用TensorMalloc()接口提前分配内存。 | 
| dataType | 输入 | TensorDType类,指定转换的类型,需与“dst”的TensorDType属性相同。 | 
| stream | 输入 | AscendStream类型,默认值为AscendStream::DefaultStream()。当参数值为默认值时,接口为同步操作,其他情况下,接口为异步操作。 | 
返回参数说明
| 数据结构 | 说明 | 
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 | 
父主题: TensorOperations