【2023 · CANN训练营第一季】AscendCL模型加载与执行流程

举报
yaowuerqierer 发表于 2023/05/09 15:15:31 2023/05/09
【摘要】 AscendCL模型加载与执行流程模型加载流程-使用不同的模型加载接口模型加载流程-使用同一个模型加载接口关键接口的说明如下:在模型加载前,需要先构建出适配昇腾AI处理器的离线模型(*.om文件),构建方式请参见模型构建 。当由用户管理内存时,为确保内存不浪费,在申请工作内存、权值内存前,需要调用aclmdlQuerySize 接口查询模型运行时所需工作内存、权值内存的大小。如果模型输入数据...

AscendCL模型加载与执行流程


模型加载流程-使用不同的模型加载接口


模型加载流程-使用同一个模型加载接口

关键接口的说明如下:

在模型加载前,需要先构建出适配昇腾AI处理器的离线模型(*.om文件),构建方式请参见模型构建

当由用户管理内存时,为确保内存不浪费,在申请工作内存、权值内存前,需要调用aclmdlQuerySize 接口查询模型运行时所需工作内存、权值内存的大小。

如果模型输入数据的Shape不确定,则不能调用aclmdlQuerySize 接口查询内存大小,在加载模型时,就无法由用户管理内存,因此需选择由系统管理内存的模型加载接口(例如,aclmdlLoadFromFile aclmdlLoadFromMem )。

支持以下方式加载模型,模型加载成功后,返回标识模型的模型ID:

从使用的接口上区分从文件加载,还是从内存加载,以及内存是由系统内部管理,还是由用户管理。

aclmdlLoadFromFile :从文件加载离线模型数据,由系统内部管理内存。

aclmdlLoadFromMem :从内存加载离线模型数据,由系统内部管理内存。

aclmdlLoadFromFileWithMem :从文件加载离线模型数据,由用户自行管理模型运行的内存(包括工作内存和权值内存,工作内存用于模型执行过程中的临时数据,权值内存用于存放权值数据)。

aclmdlLoadFromMemWithMem :从内存加载离线模型数据,由用户自行管理模型运行的内存(包括工作内存和权值内存)。

使用aclmdlSetConfigOpt 接口、aclmdlLoadWithConfig 接口时,是通过配置对象中的属性来区分,在加载模型时是从文件加载,还是从内存加载,以及内存是由系统内部管理,还是由用户管理


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。