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