# 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还提供了以下接口实现模型加载的功能，从使用的接口上区分从文件加载，还是从内存加载，以及内存是由系统内部管理，还是由用户管理。

-   aclmdlLoadFromFile
接口
-   aclmdlLoadFromMem
接口
-   aclmdlLoadFromFileWithMem
接口
-   aclmdlLoadFromMemWithMem
接口
-   aclmdlLoadFromFileWithQ
接口
-   aclmdlLoadFromMemWithQ
接口
