昇腾社区首页
中文
注册

函数:bundle_load_from_file

产品支持情况

产品

是否支持

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

Atlas A2 训练系列产品 / Atlas 800I A2 推理产品 /A200I A2 Box 异构组件

Atlas 训练系列产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

功能说明

模型执行阶段若涉及动态更新变量的场景,可调用本接口从文件加载离线模型数据(适配昇腾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接口卸载模型。

函数原型

  • C函数原型
    1
    aclError aclmdlBundleLoadFromFile(const char *modelPath, uint32_t *bundleId)
    
  • python函数
    1
    bundle_id, ret = acl.mdl.bundle_load_from_file(model_path)
    

参数说明

参数名

说明

model_path

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

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

返回值说明

返回值

说明

bundle_id

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

ret

int,错误码,返回0表示成功,返回其它值表示失败。

资源参考

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