跳到主要内容

aclmdlGetDescFromFile

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

aclmdlGetOpAttr

函数功能

获取整网中某个模型中某个算子的属性的值。

函数原型

const char *aclmdlGetOpAttr(aclmdlDesc *modelDesc, const char *opName, const char *attr)

参数说明

参数名输入/输出说明
modelDesc输入aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据,再调用aclmdlGetDesc接口根据模型ID获取到对应的aclmdlDesc类型的数据。
opName输入算子名称的指针。
attr输入算子属性的指针。 当前仅支持_datadump_original_op_names属性,用于记录某个算子是由哪些算子融合得到的。通过本接口获取到的_datadump_original_op_names属性值格式为[opName1_len]opName1…..[opNameN_len]opNameN,opNameN_len表示算子名称字符串的长度。 _datadump_original_op_names属性值示例如下,表示某个融合算子由scale2c_branch2c、bn2c_branch2c、res2c_branch2c、res2c、res2c_relu这五个算子融合而成的,算子名称字符串的长度分别为16、13、14、5、10:
text<br>[16]scale2c_branch2c[13]bn2c_branch2c[14]res2c_branch2c[5]res2c[10]res2c_relu<br>

返回值说明

返回属性值的字符串指针,该指针的生命周期与modelDesc相同,若modelDesc资源被销毁,则该指针指向的内容也会自动被销毁。若opName或者attr属性不存在、或者attr属性值为空,均返回指向空字符串的指针。

若调用该接口失败,则返回nullptr。

父主题: aclmdlDesc

aclmdlGetDescFromFile

函数功能

根据模型文件获取该模型的模型描述信息。同步接口。

Atlas 200/500 A2推理产品不支持该接口。

函数原型

aclError aclmdlGetDescFromFile (aclmdlDesc *modelDesc, const char *modelPath)

约束说明

通过本接口获取到的模型描述信息,无法应用于aclmdlGetOpAttr接口。

参数说明

参数名输入/输出说明
modelDesc输出aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。
modelPath输入离线模型文件路径的指针,路径中包含文件名。运行程序(APP)的用户需要对该存储路径有访问权限。 此处的离线模型文件是适配昇腾AI处理器的离线模型,即*.om文件。

返回值说明

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

父主题: aclmdlDesc

aclmdlGetDescFromMem

函数功能

从内存获取该模型的模型描述信息。同步接口。

Atlas 200/500 A2推理产品不支持该接口。

函数原型

aclError aclmdlGetDescFromMem(aclmdlDesc *modelDesc, const void *model, size_t modelSize)

约束说明

通过本接口获取到的模型描述信息,无法应用于aclmdlGetOpAttr接口。

参数说明

参数名输入/输出说明
modelDesc输出aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。
model输入存放模型数据的内存地址指针。
modelSize输入内存中的模型数据长度,单位Byte。

返回值说明

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

父主题: aclmdlDesc

aclCreateTensorDesc

函数功能

创建aclTensorDesc类型的数据,该数据类型用于描述tensor的数据类型、shape、format等信息。同步接口。

如需销毁aclTensorDesc类型的数据,请参见aclDestroyTensorDesc

函数原型

aclTensorDesc *aclCreateTensorDesc(aclDataType dataType,

int numDims,

const int64_t *dims,

aclFormat format)

参数说明

参数名输入/输出说明
dataType输入tensor描述的数据类型。
numDims输入tensor描述shape的维度个数。 numDims存在以下约束:
- numDims必须大于或等于0;
- numDims>0时,numDims的值必须与dims数组的长度保持一致;
- numDims=0时,系统不使用dims数组值,dims参数值无效。
dims输入tensor描述维度大小的指针。 dims是一个数组,数组中的每个元素表示tensor中每个维度的大小,如果数组中某个元素的值为0,则为空tensor。 如果用户需要使用空tensor,则在申请内存时,内存大小最小为1Byte,以保障后续业务正常运行。
format输入tensor描述的format。

返回值说明

返回aclTensorDesc类型的指针。

父主题: aclTensorDesc

aclDestroyTensorDesc

函数功能

销毁aclTensorDesc类型的数据。同步接口。

函数原型

void aclDestroyTensorDesc(const aclTensorDesc *desc)

参数说明

参数名输入/输出说明
desc输入待销毁的aclTensorDesc类型的指针。

返回值说明

父主题: aclTensorDesc

在线提单