昇腾社区首页
中文
注册

函数:bundle_load_from_file

C函数原型

aclError aclmdlBundleLoadFromFile(const char *modelPath, uint32_t *bundleId)

Python函数

bundle_id, ret = acl.mdl.bundle_load_from_file(model_path)

函数功能

模型执行阶段若涉及动态更新变量的场景,可调用本接口从文件加载离线模型数据(适配昇腾AI处理器的离线模型),由系统内部管理内存。

本接口需与以下其它接口配合使用,以便实现动态更新变量的目的,关键接口的调用流程如下:

  1. 基于Ascend Graph方式编译并保存模型,模型中包含多个图,例如推理图、变量初始化图、变量更新图等。

    此处是调用aclgrphBundleBuildModel接口编译模型、调用aclgrphBundleSaveModel接口保存模型,接口详细描述参见Ascend Graph开发指南

  2. 调用acl.mdl.bundle_load_from_fileacl.mdl.bundle_load_from_mem接口加载模型。
  3. 调用acl.mdl.bundle_get_model_id接口获取多个图的ID。
  4. 根据多个图的ID,分别调用模型执行接口(例如acl.mdl.execute)执行各个图。

    若涉及变量更新,则在执行变量更新图之前,先调用acl.mdl.set_dataset_tensor_desc接口设置图的tensor描述信息,再执行变量更新图,然后再执行一次推理图。

  5. 推理结束后,调用acl.mdl.bundle_unload接口卸载模型。

输入说明

model_path:str,存放模型文件路径的字符串,路径中包含文件名。运行程序(APP)的用户需要对该存储路径有访问权限。

此处的模型文件是基于Ascend Graph方式构建出来的,调用aclgrphBundleBuildModel接口编译模型、调用aclgrphBundleSaveModel接口保存模型,接口详细描述参见Ascend Graph开发指南

输出说明

bundle_id:int,系统成功加载模型后,返回bundle_id作为后续操作时识别模型的标志。

返回值说明

ret:int,返回0表示成功,返回其他值表示失败。

参考资源

接口调用流程及示例代码请参见权重更新