Skip to main content

aclmdlFinalizeDump

aclmdlInitDump

函数功能

Dump初始化。同步接口。

约束说明

函数原型

aclError aclmdlInitDump()

参数说明

返回值说明

返回0表示成功,返回其它值表示失败。

相关接口

AscendCL还提供了aclInit接口,在AscendCL初始化阶段,通过*.json文件传入Dump配置信息,运行应用后获取Dump数据的方式。该种方式,一个进程内,只能调用一次aclInit接口,如果要修改Dump配置信息,需修改*.json文件中的配置。

父主题: 模型加载与执行

aclmdlSetDump

函数功能

设置dump参数。同步接口。

约束说明

  • aclmdlInitDump接口需要与aclmdlSetDump接口、aclmdlFinalizeDump接口配合使用,用于将Dump数据记录到文件中。一个进程内,可以根据需求多次调用这些接口,基于不同的Dump配置信息,获取Dump数据。

    场景举例:

  • 只有在调用本接口之后加载模型,配置的Dump信息有效。在调用本接口之前已经加载的模型不受影响,除非用户在调用本接口后重新加载该模型。

    例如以下接口调用顺序中,加载的模型1不受影响,配置的Dump信息仅对加载的模型2有效:

    aclmdlInitDump接口-->模型1加载-->aclmdlSetDump接口-->模型2加载-->aclmdlFinalizeDump接口

  • 多次调用本接口对同一个模型配置了Dump信息,系统内处理时会采用覆盖策略。

    例如以下接口调用顺序中,第二次调用本接口配置的Dump信息会覆盖第一次配置的Dump信息:

    aclmdlInitDump接口-->aclmdlSetDump接口-->aclmdlSetDump接口-->模型1加载-->aclmdlFinalizeDump接口

函数原型

aclError aclmdlSetDump(const char *dumpCfgPath)

参数说明

参数名输入/输出说明
dumpCfgPath输入配置文件路径的指针,包含文件名。 配置文件格式为json格式,当前可配置dump数据的相关信息,示例请参见配置文件示例,详细配置说明请参见《精度比对工具使用指南》中的“比对数据准备>推理场景数据准备>准备离线模型dump数据文件(AscendCL接口方式)”。

配置文件示例

以Caffe ResNet-50网络为例,若需要比对Caffe ResNet-50网络与基于Caffe ResNet-50转换成的适配昇腾AI处理器的离线模型中某些层算子的输出结果,可以在配置文件中配置如下内容:

{
"dump":{
"dump_list":[
{
"model_name":"ResNet-50",
"layer":[
"conv1conv1_relu",
"res2a_branch2ares2a_branch2a_relu",
"res2a_branch1",
"pool1"
]
}
],
"dump_path":"/MyApp20/dump",
"dump_mode":"output"
}

}

返回值说明

返回0表示成功,返回其它值表示失败。

相关接口

AscendCL还提供了aclInit接口,在AscendCL初始化阶段,通过*.json文件传入Dump配置信息,运行应用后获取Dump数据的方式。该种方式,一个进程内,只能调用一次aclInit接口,如果要修改Dump配置信息,需修改*.json文件中的配置。

父主题: 模型加载与执行

aclmdlFinalizeDump

函数功能

Dump去初始化。同步接口。

约束说明

函数原型

aclError aclmdlFinalizeDump()

参数说明

返回值说明

返回0表示成功,返回其它值表示失败。

相关接口

AscendCL还提供了aclInit接口,在AscendCL初始化阶段,通过*.json文件传入Dump配置信息,运行应用后获取Dump数据的方式。该种方式,一个进程内,只能调用一次aclInit接口,如果要修改Dump配置信息,需修改*.json文件中的配置。

父主题: 模型加载与执行

aclmdlSetConfigOpt

函数功能

设置模型加载的配置对象中的各属性的取值,包括模型执行的优先级、模型的文件路径或内存地址、内存大小等。

本接口需要与以下其它接口配合,实现模型加载功能:

  1. 调用aclmdlCreateConfigHandle接口创建模型加载的配置对象。
  2. 多次调用aclmdlSetConfigOpt接口设置配置对象中每个属性的值。
  3. 调用aclmdlLoadWithConfig接口指定模型加载时需要的配置信息,并进行模型加载。
  4. 模型加载成功后,调用aclmdlDestroyConfigHandle接口销毁。

函数原型

aclError aclmdlSetConfigOpt(aclmdlConfigHandle *handle, aclmdlConfigAttr attr, const void *attrValue, size_t valueSize)

参数说明

参数名输入/输出说明
handle输出模型加载的配置对象的指针。需提前调用aclmdlCreateConfigHandle接口创建该对象。
attr输入指定需设置的属性。
attrValue输入指向属性值的指针,attr对应的属性取值。 如果属性值本身是指针,则传入该指针的地址。
valueSize输入attrValue部分的数据长度。 用户可使用C/C++标准库的函数sizeof(*attrValue)查询数据长度。

返回值说明

返回0表示成功,返回其它值表示失败。

相关接口

使用aclmdlSetConfigOpt接口、aclmdlLoadWithConfig接口时,是通过配置对象中的属性来区分,在加载模型时是从文件加载,还是从内存加载,以及内存是由系统内部管理,还是由用户管理。

当前AscendCL还提供了以下接口实现模型加载的功能,从使用的接口上区分从文件加载,还是从内存加载,以及内存是由系统内部管理,还是由用户管理。

父主题: 模型加载与执行

aclmdlLoadWithConfig

函数功能

指定模型加载时需要的配置信息,并进行模型加载。

本接口需要与以下其它接口配合,实现模型加载功能:

  1. 调用aclmdlCreateConfigHandle接口创建模型加载的配置对象。
  2. 多次调用aclmdlSetConfigOpt接口设置配置对象中每个属性的值。
  3. 调用aclmdlLoadWithConfig接口指定模型加载时需要的配置信息,并进行模型加载。
  4. 模型加载成功后,调用aclmdlDestroyConfigHandle接口销毁。

约束说明

在加载前,请先根据模型文件的大小评估内存空间是否足够,内存空间不足,会导致应用程序异常。

函数原型

aclError aclmdlLoadWithConfig(const aclmdlConfigHandle *handle, uint32_t *modelId)

参数说明

参数名输入/输出说明
handle输入模型加载的配置对象的指针。需提前调用aclmdlCreateConfigHandle接口创建该对象,与aclmdlSetConfigOpt中的handle保持一致。
modelId输出模型ID的指针。 系统成功加载模型后会返回的模型ID。

返回值说明

返回0表示成功,返回其它值表示失败。

相关接口

使用aclmdlSetConfigOpt接口、aclmdlLoadWithConfig接口时,是通过配置对象中的属性来区分,在加载模型时是从文件加载,还是从内存加载,以及内存是由系统内部管理,还是由用户管理。

当前AscendCL还提供了以下接口实现模型加载的功能,从使用的接口上区分从文件加载,还是从内存加载,以及内存是由系统内部管理,还是由用户管理。

父主题: 模型加载与执行

在线提单