函数:set_input_dynamic_dims
| C函数原型 | aclError aclmdlSetInputDynamicDims(uint32_t modelId, aclmdlDataset *dataset, size_t index, const aclmdlIODims *dims) | 
|---|---|
| Python函数 | ret = acl.mdl.set_input_dynamic_dims(model_id, dataset_in, index, dims) | 
| 函数功能 | 如果模型输入的Shape是动态的,可以调用该接口设置模型推理时具体维度的值。 | 
| 输入说明 | model_id:int,模型ID。 调用acl.mdl.load_from_file接口/acl.mdl.load_from_mem接口/acl.mdl.load_from_file_with_mem接口/acl.mdl.load_from_mem_with_mem接口加载模型成功后,会返回模型ID。 dataset_in:int,表示模型的输入数据。 使用aclmdlDataset类型的数据描述模型推理时的输入数据,输入的内存地址、内存大小用aclDataBuffer类型的数据来描述。 index:int,标识动态维度的输入index。 需调用acl.mdl.get_input_index_by_name接口获取,输入名称固定为“ascend_mbatch_shape_data”。 dims:dict,指定具体某一档的所有维度信息。 可以调用acl.mdl.get_input_dynamic_dims接口获取指定模型支持的动态维度档位数以及每一档中的值。 例如:使用ATC工具进行模型转换时,input_shap="data:1,1,40,-1;label:1,-1;mask:-1,-1" ,dynamic_dims="20,20,1,1; 40,40,2,2; 80,60,4,4",若输入数据的真实维度为(1,1,40,20,1,20,1,1),则dims输入示例如下(name暂不使用): dims = {'dimCount': 8, 'name': '', 'dims': [1,1,40,20,1,20,1,1]} | 
| 返回值说明 | ret:int,错误码 
 | 
| 约束说明 | 无 | 
| 参考资源 | 接口调用流程与示例,参见动态Batch/动态分辨率/动态维度(设置多档维度值)。 |