模型推理
hbDNNInferV2
根据输入参数创建同步/异步推理任务。对于异步任务,调用方可以跨函数、跨线程使用返回的 taskHandle。
- 参数
- [out]
taskHandle任务句柄指针。 - [in/out]
output推理任务的输出。 - [in]
input推理任务的输入。 - [in]
dnnHandleDNN句柄指针。
- [out]
- 返回值
- 返回
0则表示API成功执行,否则执行失败。
- 返回
注解
-
如果
taskHandle置为nullptr,则会自动创建同步任务,接口返回即推理完成,同步任务不支持多核模型推理。 -
如果
*taskHandle置为nullptr,则会自动创建异步任务,接口返回的taskHandle可用于后续阻塞或回调。 -
如果
*taskHandle非空,并且指向之前已经创建但未提交的任务,则会自动创建新任务并添加进来,多核任务不支持task添加操作。
最多支持同时存在32个模型任务。
hbDNNGetTaskOutputTensorProperties
获取 taskHandle 指向任务特定输出的动态属性信息。
- 参数
- [out]
properties任务特定输出的属性信息。 - [in]
taskHandle任务句柄指针。 - [in]
subTaskIndex子任务的编号。 - [in]
outputIndex子任务输出张量的编号。
- [out]
- 返回值
- 返回
0则表示API成功执行,否则执行失败。
- 返回
注解
-
模型如果存在动态输出,需要通过该接口获取任务输出的动态属性信息,方便后续处理,非动态输出张量信息与
hbDNNGetOutputTensorProperties获取到的相同。 -
若
taskHandle指向的任务有多个子任务,subTaskIndex用于指定子任务编号。 -
若模型含动态输出,推理时请采用非同步执行任务方式,因为同步执行的任务无法获取到taskHandle。
