文档
注册

Infer

函数功能

Model的推理接口,Atlas 推理系列产品(Ascend 310P AI处理器支持异步推理。

Model推理提供对使用ATC工具构建的动态Batch、动态分辨率、动态维度模型的支持。

使用动态shape模型推理时,输入Tensor必须满足模型构建时的设置,若输入Tensor的“shape”不满足模型构建时的档位,会提示设置动态Batch/分辨率/维度信息失败。具体错误码请参见返回参数“APP_ERROR”说明。

例如:动态Batch模型构建时设置Batch档位为“2,4,8”,输入“Batch”“1”的Tensor,推理报错“Dynamic batch set failed, modelId = 1, index = 1, dynamicBatchSize = 1”。

对于只加载一次的模型,内部相关联资源唯一,因此不能在多线程中并发推理。多线程使用时需要每个线程加载一次模型,再调用推理业务。

函数原型

APP_ERROR Infer(std::vector<Tensor>& inputTensors, std::vector<Tensor>& outputTensors, AscendStream &stream = AscendStream::DefaultStream()) 
// 由用户构造outputTensors,自行使用TensorMalloc()申请输出的Tensor内存,自由度更高
std::vector<Tensor> Infer(std::vector<Tensor>& inputTensors)
// 内部申请输出内存,并将推理的输出Tensor返回给用户

参数说明

参数名

输入/输出

说明

inputTensors

输入

模型需要的Tensor输入。

outputTensors

输出

模型的Tensor输出。

stream

输入

输入用于异步执行的Stream,默认为“AscendStream::DefaultStream()”,表示创建一个默认流(即同步执行)。

返回参数说明

数据结构

说明

std::vector<Tensor>

模型的Tensor输出。

APP_ERROR

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

搜索结果
找到“0”个结果

当前产品无相关内容

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