在动态Batch场景下,在模型执行前调用本接口设置模型推理时的批量大小Batch(每次处理图片的数量)。
aclError aclmdlSetDynamicBatchSize(uint32_t modelId, aclmdlDataset *dataset, size_t index, uint64_t batchSize)
参数名 |
输入/输出 |
说明 |
---|---|---|
modelId |
输入 |
模型ID。 调用aclmdlLoadFromFile接口/aclmdlLoadFromMem接口/aclmdlLoadFromFileWithMem接口/aclmdlLoadFromMemWithMem接口加载模型成功后,会返回模型ID。 |
dataset |
输入&输出 |
模型推理的输入数据的指针。 使用aclmdlDataset类型的数据描述模型推理时的输入数据,输入的内存地址、内存大小用aclDataBuffer类型的数据来描述。 |
index |
输入 |
标识动态Batch输入的输入index,需调用aclmdlGetInputIndexByName接口获取,输入名称固定为ACL_DYNAMIC_TENSOR_NAME。 |
batchSize |
输入 |
模型推理时的批量大小Batch。 此处设置的batch size只能是模型构建时设置的Batch档位中的某一档。 如果不清楚模型构建时的Batch档位设置,也可以调用aclmdlGetDynamicBatch接口获取指定模型支持的Batch档位数以及每一档中的batch size。 |
返回0表示成功,返回其它值表示失败。
接口调用流程及示例,参见模型动态Shape输入推理。