Skip to main content

aclmdlGetCurOutputDims

aclmdlGetOutputIndexByName

函数功能

根据模型中的输出名称获取对应输出的索引编号。同步接口。

函数原型

aclError aclmdlGetOutputIndexByName(const aclmdlDesc *modelDesc, const char *name, size_t *index)

参数说明

参数名输入/输出说明
modelDesc输入aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。
name输入输出名称的指针。
index输出输出的索引编号的指针。

返回值说明

返回0表示成功,返回非0表示失败。

父主题: aclmdlDesc

aclmdlGetDynamicBatch

函数功能

根据模型描述信息获取模型支持的动态Batch信息。同步接口。

函数原型

**aclError**aclmdlGetDynamicBatch(const aclmdlDesc *modelDesc, aclmdlBatch *batch)

参数说明

参数名输入/输出说明
modelDesc输入aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。
batch输出text<br>const int ACL_MAX_BATCH_NUM = 128;<br>typedef struct aclmdlBatch &#123;<br> size_t batchCount; /**模型中支持的batch分档数 */<br> uint64_t batch[ACL_MAX_BATCH_NUM]; /**模型中支持的具体分档 */<br>&#125; aclmdlBatch;<br>
batchCount等于0时,表示不支持设置档位信息,以模型中的档位为准。

返回值说明

返回0表示成功,返回非0表示失败。

父主题: aclmdlDesc

aclmdlGetDynamicHW

函数功能

根据模型描述信息获取模型支持的动态宽高信息。同步接口。

函数原型

**aclError**aclmdlGetDynamicHW(const aclmdlDesc *modelDesc, size_t index, aclmdlHW *hw)

参数说明

参数名输入/输出说明
modelDesc输入aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。
index输入预留参数,当前未使用,固定设置为-1。
hw输出text<br>const int ACL_MAX_HW_NUM = 128;<br>typedef struct aclmdlHW &#123;<br> size_t hwCount; /**模型中支持的宽高分档数 */<br> uint64_t hw[ACL_MAX_HW_NUM][2]; /**模型中支持的具体分档,每组分档中,数组下标为0代表的是高,下标为1代表的是宽 */<br>&#125; aclmdlHW;<br>
hwCount等于0时,表示不支持设置档位信息,以模型中的档位为准。

返回值说明

返回0表示成功,返回非0表示失败。

父主题: aclmdlDesc

aclmdlGetCurOutputDims

函数功能

根据模型描述信息获取指定的模型输出tensor的实际维度信息。同步接口。

约束说明

当前仅支持通过本接口获取以下场景中的模型输出tensor的维度信息:

函数原型

aclError aclmdlGetCurOutputDims(const aclmdlDesc *modelDesc, size_t index, aclmdlIODims *dims)

参数说明

参数名输入/输出说明
modelDesc输入aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。
index输入指定获取第几个输出的Dims,index值从0开始。
dims输出输出实际维度信息的指针。 若tensor的name长度大于127,则在输出的dims.name时,系统会将tensor的name转换为“acl_modelId_${id}output${index} ${随机字符串} ”格式(如果转换后的tensor的name与模型中已有的tensor的name冲突,则会在转换后的name尾部增加“${随机字符串} ”,否则不会增加随机字符串),并在转换后的name与原name之间建立映射关系,用户可调用aclmdlGetTensorRealName接口,传入转换后的name,获取原name(若向接口传入原name,则获取的还是原name);若tensor的name长度小于或等于127,则在输出的dims.name时,按tensor的name输出。

返回值说明

返回0表示成功,返回非0表示失败。

父主题: aclmdlDesc

aclmdlGetInputDynamicGearCount

函数功能

根据模型描述信息获取模型的输入所支持的动态维度档位数。同步接口。

约束说明

如果模型构建时没有设置动态维度的分档,那么通过该接口获取的动态维度档位数为0。模型构建的详细说明请参见模型构建

函数原型

aclError aclmdlGetInputDynamicGearCount(const aclmdlDesc *modelDesc, size_t index, size_t *gearCount)

参数说明

参数名输入/输出说明
modelDesc输入aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。
index输入预留参数,当前未使用,固定设置为-1。
gearCount输出动态维度档位数的指针。 例如,模型的输入tensor是4维,在模型转换时通过--dynamic_dims参数设置的分档为“1,3,224,224;2,3,224,224;1,3,256,256”,那么通过该接口获取的动态维度档位数为3。

返回值说明

返回0表示成功,返回非0表示失败。

父主题: aclmdlDesc

aclmdlGetInputDynamicDims

函数功能

根据模型描述信息获取模型的输入所支持的动态维度信息。同步接口。

约束说明

只有在模型构建时设置了动态维度的分档信息后,才可以调用该接口获取动态维度信息。模型构建的详细说明请参见模型构建

例如,模型有三个输入,分别为data(1, 1, 40, -1),label(1, -1),mask(-1, -1) , 其中-1表示动态可变。在模型转换时,dynamic_dims参数的配置示例为:--dynamic_dims="20,20,1,1; 40,40,2,2; 80,60,4,4",则通过本接口获取的动态维度信息为(**aclmdlIODims**结构体内的name暂不使用):

  • 第0档:
    • **aclmdlIODims**结构体内dimCount:8,表示所有输入tensor的维度数量之和
    • **aclmdlIODims**结构体内的dims:“1,1,40,20,1,20,1,1”,表示data(1,1,40,20)+label(1,20)+mask(1,1)
  • 第1档:
    • **aclmdlIODims**结构体内dimCount:8,表示所有输入tensor的维度数量之和
    • **aclmdlIODims**结构体内的dims:“1,1,40,40,1,40,2,2”,表示data(1,1,40,40)+label(1,40)+mask(2,2)
  • 第2档:
    • **aclmdlIODims**结构体内dimCount:8,表示所有输入tensor的维度数量之和
    • **aclmdlIODims**结构体内的dims:“1,1,40,80,1,60,4,4”,表示data(1,1,40,80)+label(1,60)+mask(4,4)

函数原型

aclError aclmdlGetInputDynamicDims(const aclmdlDesc *modelDesc, size_t index, aclmdlIODims *dims, size_t gearCount)

参数说明

参数名输入/输出说明
modelDesc输入aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。
index输入预留参数,当前未使用,固定设置为-1。
gearCount输入模型支持的动态维度档位数,需要先通过aclmdlGetInputDynamicGearCount接口获取。
dims输出输入的动态维度信息的指针。 dims参数是一个数组,数组中的每个元素指向aclmdlIODims结构,aclmdlIODims结构体中的dims参数也是也是一个数组,该数组中的每个元素对应每一档中的具体值。 例如
text<br>aclmdlIODims dims[gearCount];<br>aclmdlGetInputDynamicDims(model.modelDesc, -1, dims, gearCount);<br>

返回值说明

返回0表示成功,返回非0表示失败。

父主题: aclmdlDesc

aclmdlGetTensorRealName

函数功能

根据指定名称获取tensor的真实名称。同步接口。

aclmdlGetTensorRealName接口需要与aclmdlGetInputDims/aclmdlGetInputDimsV2/aclmdlGetOutputDims/aclmdlGetCurOutputDims接口配合使用。

函数原型

const char *aclmdlGetTensorRealName(const aclmdlDesc *modelDesc, const char *name)

参数说明

参数名输入/输出说明
modelDesc输入aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。
name输入名称的指针,用于根据该名称获取tensor的真实名称。

返回值说明

返回指向tensor真实名称的指针,该指针的生命周期与modelDesc相同,若modelDesc资源被销毁,则该指针指向的内容也会自动被销毁。

若modelDesc或name为空,则返回nullptr。

父主题: aclmdlDesc

在线提单