昇腾社区首页
中文
注册
开发者
下载

aclmdlBundleInitFromMem

产品支持情况

产品

是否支持

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模型文件读入内存,构图接口详细描述参见图模式开发指南中的aclgrphBundleBuildModel

Ascend EP 形态下,此处需申请Host上的内存。

Ascend RC 形态下,此处需申请Device上的内存。

Control CPU开放形态下,此处需申请Device上的内存。

modelSize

输入

内存中的模型数据长度,单位Byte。

varWeightPtr

输入

模型所需的可刷新权重内存的地址指针,由用户自行管理,模型执行过程中不能释放该内存。

如果在此处传入空指针,表示由系统管理内存。

varWeightSize

输入

模型所需的可刷新权重内存的大小,单位Byte。varWeightPtr为空指针时无效。

bundleId

输出

系统成功初始化捆绑模型后,返回bundleId作为后续操作时识别模型的标志。

返回值说明

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

参考资源

接口调用流程及示例代码请参见权重更新(由用户管理内存)