---
title: aclmdlConfigAttr
description: "| 模型加载配置类型 | 含义 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi/aclpythondevg_01_0938.html
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/aclpythondevg_01_0938.html
indexId: a78c40eb53497cb3a81c18c237a1a4356dbd4492da05b0b7607d551f5be3653b75
---
# aclmdlConfigAttr

| 模型加载配置类型 | 含义 |
| --- | --- |
| ACL\_MDL\_PRIORITY\_INT32 = 0 | 模型执行的优先级，数字越小优先级越高，取值[0, 7]，可选项。默认值为0。 Atlas 训练系列产品 ，docker容器内安装CANN，且配置算力分组的场景，该枚举值不生效。 |
| ACL\_MDL\_LOAD\_TYPE\_SIZET = 1 | 模型加载方式，具体请参见表1，必选项。 |
| ACL\_MDL\_PATH\_PTR = 2 | 离线模型文件路径的指针地址，如果选择从文件加载模型，则该选项必选。 |
| ACL\_MDL\_MEM\_ADDR\_PTR = 3 | 模型在内存中的起始地址，如果选择从内存加载模型，则该选项必选。 |
| ACL\_MDL\_MEM\_SIZET = 4 | 模型在内存中的大小，如果选择从内存加载模型，则该选项必选，与ACL\_MDL\_MEM\_ADDR\_PTR选项配合使用。 |
| ACL\_MDL\_WEIGHT\_ADDR\_PTR = 5 | Device上模型权值内存（存放权值数据）的指针地址，如果需要由用户管理权值内存，则该选项必选。若不配置该选项，则表示由系统管理内存。 |
| ACL\_MDL\_WEIGHT\_SIZET = 6 | 权值内存大小，单位为Byte，如果需要由用户管理权值内存，则该选项必选，与ACL\_MDL\_WEIGHT\_ADDR\_PTR选项配合使用。 |
| ACL\_MDL\_WORKSPACE\_ADDR\_PTR = 7 | Device上模型所需工作内存（存放模型输入/输出等数据）的指针地址，如果需要由用户管理工作内存，则该选项必选。若不配置该选项，则表示由系统管理内存。 |
| ACL\_MDL\_WORKSPACE\_SIZET = 8 | 模型所需工作内存的大小，单位为Byte，如果需要由用户管理权值内存，则该选项必选，与ACL\_MDL\_WORKSPACE\_ADDR\_PTR选项配合使用。 |
| ACL\_MDL\_INPUTQ\_NUM\_SIZET = 9 | 模型输入队列大小 ,带队列加载模型时，该选项必选，与ACL\_MDL\_INPUTQ\_ADDR\_PTR选项配合使用。 |
| ACL\_MDL\_INPUTQ\_ADDR\_PTR = 10 | 模型输入队列ID的指针地址，带队列加载模型时，该选项必选，一个模型输入对应一个队列ID。 |
| ACL\_MDL\_OUTPUTQ\_NUM\_SIZET = 11 | 模型输出队列大小，带队列加载模型时，该选项必选，与ACL\_MDL\_OUTPUTQ\_ADDR\_PTR选项配合使用。 |
| ACL\_MDL\_OUTPUTQ\_ADDR\_PTR = 12 | 模型输出队列ID的指针地址，带队列加载模型时，该选项必选，一个模型输出对应一个队列ID。 |
| ACL\_MDL\_WORKSPACE\_MEM\_OPTIMIZE = 13 | 是否开启模型工作内存优化功能，1开启，0不开启。 若关注内存规划或内存资源有限时，建议在模型加载前，开启工作内存优化功能，此时工作内存中不包含存放模型输入、输出数据的内存，工作内存大小会减小，达到节省内存的目的。 在模型执行前，还需要由用户申请存放模型输入、输出数据的内存，因此即使在模型加载时开启工作内存优化功能，也不会影响后续的模型执行。 |
| ACL\_MDL\_WEIGHT\_PATH\_PTR = 14 | 权重文件所在目录的指针地址。对om模型文件大小有限制的场景下，通过本参数可实现权重文件外置功能。 如果将ACL\_MDL\_LOAD\_TYPE\_SIZET设置为ACL\_MDL\_LOAD\_FROM\_MEM，表示从内存加载模型数据，则支持使用ACL\_MDL\_WEIGHT\_PATH\_PTR指定权重文件目录。 一般对om模型文件大小有限制或模型文件加密的场景下，需单独指定权重文件目录，但前提是需在使用ATC工具生成om文件时，将\-\-external\_weight参数设置为1（1表示将原始网络中的Const/Constant节点的权重保存在单独的文件中）。 |
| ACL\_MDL\_MEM\_MALLOC\_POLICY\_SIZET | 内存分配规则，该选项对应的值为size\_t类型。 当前版本不支持该配置。 |
| ACL\_MDL\_WITHOUT\_GRAPH\_INT32 | 模型加载后是否保留计算图及其预缓存信息，只支持输入为静态Shape的场景。该选项对应的值为INT32类型，取值范围如下： 0：默认值，保留计算图及其预缓存信息。 1：不保留计算图及其预缓存信息。设置为1时，模型加载成功后会释放计算图及其预缓存信息，用于节省内存，但预缓存信息被释放，会影响Profiling数据采集以及异常场景下的算子信息获取，因此： Profiling数据采集场景下，需在模型加载前调用acl.prof.start(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/runtimeapi/aclpythondevg\_01\_0852.html)接口打开Profling开关，否则Profiling功能不可用。 异常场景下，调用acl.mdl.create\_and\_get\_op\_desc接口获取算子描述信息时会失败。 |


**表1 ACL_MDL_LOAD_TYPE_SIZET对应的属性值**

| 模型加载方式 | 含义 |
| --- | --- |
| ACL\_MDL\_LOAD\_FROM\_FILE = 1 | 从文件加载离线模型数据，由系统内部管理内存。 |
| ACL\_MDL\_LOAD\_FROM\_FILE\_WITH\_MEM = 2 | 从文件加载离线模型数据，由用户自行管理模型运行的内存。 |
| ACL\_MDL\_LOAD\_FROM\_MEM = 3 | 从内存加载离线模型数据，由系统内部管理模型运行的内存。 |
| ACL\_MDL\_LOAD\_FROM\_MEM\_WITH\_MEM = 4 | 从内存加载离线模型数据，由用户自行管理模型运行的内存。 |
| ACL\_MDL\_LOAD\_FROM\_FILE\_WITH\_Q = 5 | 从文件加载离线模型数据，模型的输入、输出数据都存放在队列中。 |
| ACL\_MDL\_LOAD\_FROM\_MEM\_WITH\_Q = 6 | 从内存加载离线模型数据，模型的输入、输出数据都存放在队列中。 |
| 注意：如果将ACL\_MDL\_LOAD\_TYPE\_SIZET设置为ACL\_MDL\_LOAD\_FROM\_MEM，表示从内存加载模型数据，还支持使用ACL\_MDL\_WEIGHT\_PATH\_PTR选项指定权重文件目录。 | 注意：如果将ACL\_MDL\_LOAD\_TYPE\_SIZET设置为ACL\_MDL\_LOAD\_FROM\_MEM，表示从内存加载模型数据，还支持使用ACL\_MDL\_WEIGHT\_PATH\_PTR选项指定权重文件目录。 |


- 关于如何获取om文件，请参见  模型构建(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/acldevg/aclpythondevg_0030.html)
。
- om模型文件大小有限制的场景下，使用ATC工具生成om文件时，如将“--external_weight”参数设置为1（1表示将原始网络中的Const/Constant节点的权重保存在单独的文件中，且该文件保存在与om文件同级的“weight”目录下），那么在使用本接口加载om文件时，需将“weight”目录与om文件放在同级目录下，会进入“weight”目录查找权重文件，未正确放置“weight”目录可能会导致单独的权重文件加载不成功。
