aclmdlGetNumInputs
aclmdlDestroyDesc
函数功能
销毁通过aclmdlCreateDesc接口创建的aclmdlDesc类型的数据。同步接口。
函数原型
aclError aclmdlDestroyDesc(aclmdlDesc *modelDesc)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| modelDesc | 输入 | 待销毁的aclmdlDesc类型的指针。 |
返回值说明
返回0表示成功,返回非0表示失败。
父主题: aclmdlDesc
aclmdlGetDesc
函数功能
根据模型ID获取该模型的模型描述信息。同步接口。
函数原型
aclError aclmdlGetDesc(aclmdlDesc *modelDesc, uint32_t modelId)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| modelDesc | 输出 | aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。 |
| modelId | 输入 | 模型ID。 调用aclmdlLoadFromFile接口/aclmdlLoadFromMem接口/aclmdlLoadFromFileWithMem接口/aclmdlLoadFromMemWithMem接口加载模型成功后,会返回模型ID。 |
返回值说明
返回0表示成功,返回非0表示失败。
父主题: aclmdlDesc
aclmdlGetNumInputs
函数功能
根据模型描述信息获取模型的输入个数。同步接口。
函数原型
size_t aclmdlGetNumInputs(aclmdlDesc *modelDesc)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| modelDesc | 输入 | aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。 |
返回值说明
模型的输入个数。
父主题: aclmdlDesc
aclmdlGetNumOutputs
函数功能
根据模型描述信息获取模型的输出个数。同步接口。
函数原型
size_t aclmdlGetNumOutputs(aclmdlDesc *modelDesc)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| modelDesc | 输入 | aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。 |
返回值说明
模型的输出个数。
父主题: aclmdlDesc
aclmdlGetInputSizeByIndex
函数功能
根据模型描述信息获取指定输入的大小,单位为Byte。同步接口。
约束说明
如果模型输入的Shape是动态的、且维度的取值为-1(表示此维度可以使用>=1的任意取值),则通过本接口获取的大小为0,用户需根据实际数据占用的内存大小来申请内存。
函数原型
size_t aclmdlGetInputSizeByIndex(aclmdlDesc *modelDesc, size_t index)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| modelDesc | 输入 | aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。 |
| index | 输入 | 指定获取第几个输入的大小,index值从0开始。 |
返回值说明
针对动态Batch、动态分辨率(宽高)的场景,返回最大档位对应的输入的大小;静态场景下,返回指定输入的大小。单位是Byte。
父主题: aclmdlDesc
aclmdlGetOutputSizeByIndex
函数功能
根据模型描述信息获取指定输出的大小,单位为Byte。同步接口。
约束说明
如果通过本接口获取的大小为0,有可能是由于输出Shape的范围不确定,当前支持以下两种处理方式:
-
方式一:系统内部自行申请对应index的输出内存,节省内存,但内存数据使用结束后,需由用户释放内存,同时,系统内部申请内存时涉及内存拷贝,可能涉及性能损耗。
调用aclCreateDataBuffer接口创建存放对应index输出数据的aclDataBuffer类型时,可在data参数处传入nullptr,表示创建一个空的aclDataBuffer类型,然后在模型执行过程中,系统内部自行计算并申请该index输出的内存。
-
方式二:用户预估输出内存大小,并申请内存,由用户自行管理内存,但内存大小可能不够或超出,不够时系统会校验报错,超出时会浪费内存。
用户需先根据实际情况预估一块较大的输出内存,在模型执行过程中,系统会校验用户指定的输出内存大小是否符合要求,如果不符合要求,系统会返回报错,并在报错信息中提示具体需要多大的输出内存。您可以通过以下两种方式查看报错:
- 获取应用类日志,查看ERROR级别的报错,如何获取日志请参见《日志参考》。
- 在应用程序中调用aclGetRecentErrMsg接口获取报错。
函数原型
size_t aclmdlGetOutputSizeByIndex(aclmdlDesc *modelDesc, size_t index)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| modelDesc | 输入 | aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。 |
| index | 输入 | 指定获取第几个输出的大小,index值从0开始。 |
返回值说明
针对动态Batch、动态分辨率(宽高)的场景,返回最大档位对应的输出的大小;静态场景下,返回指定输出的大小。单位是Byte。
父主题: aclmdlDesc
在线提单