---
title: aclmdlBundleInitFromMem
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi/aclcppdevg_03_2110.html
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/aclcppdevg_03_2110.html
indexId: d4746c71e116af6d45e5c33f487c2c200c5ef1e9c414b37f2b4aea0a989213b472
---
# aclmdlBundleInitFromMem

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

在模型执行阶段，如果涉及动态更新变量的场景，可以调用本接口从内存中初始化模型。


#### 函数原型

```
aclError aclmdlBundleInitFromMem(const void* model, size_t modelSize, void *varWeightPtr, size_t varWeightSize, uint32_t *bundleId)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| model | 输入 | 存放模型数据的内存地址指针，由用户自行管理，加载aclmdlBundleLoadModel过程中不能释放该内存。 此处的模型文件是基于构图接口构建出来的，调用aclgrphBundleBuildModel接口编译模型、调用aclgrphBundleSaveModel接口保存模型，再由用户自行将保存出来的om模型文件读入内存，构图接口详细描述参见《图开发(https://www.hiascend.com/document/detail/zh/canncommercial/900/programug/graphdevg/atlasag\_25\_0081.html)》中的“aclgrphBundleBuildModel”。 Ascend EP 形态下，此处需申请Host上的内存。 Ascend RC 形态下，此处需申请Device上的内存。 Control CPU开放形态下，此处需申请Device上的内存。 |
| modelSize | 输入 | 内存中的模型数据长度，单位Byte。 |
| varWeightPtr | 输入 | 模型所需的可刷新权重内存的地址指针，由用户自行管理，模型执行过程中不能释放该内存。 如果在此处传入空指针，表示由系统管理内存。 |
| varWeightSize | 输入 | 模型所需的可刷新权重内存的大小，单位Byte。varWeightPtr为空指针时无效。 |
| bundleId | 输出 | 系统成功初始化捆绑模型后，返回bundleId作为后续操作时识别模型的标志。 |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。


#### 接口调用示例

接口调用流程及示例代码请参见权重更新（由用户管理内存）(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/acldevg/aclcppdevg_000527.html)。
