Skip to main content

~Model

Flush

函数功能

发送完所有码流后,获取缓存数据并清空缓存队列,接口调用完成后将结束解码过程。

由于视频解码内部通过异步实现,请使用该接口后保留一定等待时间,用于回调函数获取并处理缓存数据。

函数原型

APP_ERROR Flush();

返回参数说明

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

父主题: VideoDecoder

类说明

Model类,作为模型的抽象,持有模型推理的资源,并主要开放推理接口。支持使用ATC工具构建的动态Batch、动态分辨率和分档动态维度模型的推理。

:::note 说明 Model类涉及申请Device侧资源,与MxDeInit的作用域冲突,因此,其作用域不能大于或等于MxDeInit的作用域。 :::

父主题: Model

Model

函数功能

Model类的构造函数。

函数原型

Model(std::string &modelPath, const int32_t deviceId = 0) // 构造失败时,会抛出std::runtime_error异常
Model(const Model&) = delete // 请勿拷贝构造
Model &operate=(const Model&) = delete // 请勿赋值构造
Model(ModelLoadOptV2 &mdlLoadOpt, const int32_t deviceId = 0);// 构造失败时,会抛出std::runtime_error异常

参数说明

参数名输入/输出说明
modelPath输入模型的路径。最大仅支持至4G的模型且建议模型属主为当前用户,模型文件的权限小于或等于“640”。(对于MindIR模型,仅支持静态Shape和动态Batch。)
deviceId输入模型部署的芯片,默认为0号芯片。(-1表示模型部署在Host侧,为保留字段,请勿使用。)
mdlLoadOpt输入选择以特定模型输入方式,输入推理模型。具体请参见ModelLoadOptV2

父主题: Model

~Model

函数功能

Model类的默认析构函数。

函数原型

~Model()

父主题: Model

Infer

函数功能

Model的推理接口。

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”。

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

函数原型

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输出。
APP_ERROR程序执行返回的错误码,请参考APP_ERROR说明

父主题: Model

GetInputTensorNum

函数功能

获得模型的输入个数。

函数原型

uint32_t GetInputTensorNum()

返回参数说明

数据结构说明
uint32_t模型的输入个数。

父主题: Model

GetOutputTensorNum

函数功能

获得模型的输出个数。

函数原型

uint32_t GetOutputTensorNum()

返回参数说明

数据结构说明
uint32_t模型的输出个数。

父主题: Model

在线提单