【技术实现步骤摘要】
深度学习模型的编译方法、电子设备及存储介质
[0001]本申请涉及深度学习领域,更具体地涉及一种深度学习模型的编译方法、电子设备、存储介质及计算机程序产品。
技术介绍
[0002]在现有技术中,流行的深度学习推理框架主要使用C++编写,在编写的过程中需要提供预先写好的高性能算子。但现有框架无论怎么裁剪始终需要MB(百万字节)级别的运行环境才能完整执行业务依赖的所有模型。这就导致深度学习推理很难在存储空间受限或者C++/C基础库支持欠佳的运行环境下部署。而且,传统框架还存在初始化时间较长的问题,在不能永驻内存的场景下用户会感受到明显卡顿。
[0003]综上所述,需要一种新的深度学习模型的编译方法来解决上述问题。
技术实现思路
[0004]考虑到上述问题而提出了本申请。本申请提供了一种深度学习模型的编译方法、电子设备、存储介质及计算机程序产品。
[0005]根据本申请一方面,提供了一种深度学习模型的编译方法,包括:将深度学习模型转换为计算图;按照计算图中的计算节点的顺序将计算节点包含的各原始算子转 ...
【技术保护点】
【技术特征摘要】
1.一种深度学习模型的编译方法,包括:将深度学习模型转换为计算图;按照所述计算图中的计算节点的顺序将所述计算节点包含的各原始算子转换为目标语言片段,获得初始片段集合;至少针对所述初始片段集合,将多个相同的目标语言片段过滤为单一的目标语言片段,获得经过滤的片段集合;导出编译后的深度学习模型,所述编译后的深度学习模型包括所述深度学习模型的运行环境和所述经过滤的片段集合,其中,所述运行环境包括所述深度学习模型的原始算子以及各原始算子与所述经过滤的片段集合中的各目标语言片段之间的映射关系。2.如权利要求1所述的方法,其中,所述按照所述计算图中的计算节点的顺序将所述计算节点包含的各原始算子转换为目标语言片段包括:利用预设算法将任一原始算子拆分为一个或多个程序片段;将所述一个或多个程序片段一一对应地转换为一个或多个采用目标语言描述的新程序片段;将所述一个或多个新程序片段拼接在一起,获得与该原始算子相对应的目标语言片段。3.如权利要求1所述的方法,其中,在所述按照所述计算图中的计算节点的顺序将所述计算节点包含的各原始算子转换为目标语言片段,获得初始片段集合之前,所述方法还包括:针对所述计算图中的各计算节点所需的内存空间进行内存空间规划。4.如权利要求1
‑
3任一项所述的方法,其中,在所述导出编译后的深度学习模型之前,所述方法还包括:统计所述初始片段集合运行所需要的所有内存空间;基于统计结果为每个原始算子的输入数据、输出数据和中间结果分配内存空间,获得内存分配信息,其中,所述运行环境还包括所述内存分配信息。5.如权利要求1
‑
...
【专利技术属性】
技术研发人员:柳俊杰,陈其友,于雄雄,张浩龙,
申请(专利权)人:北京旷视科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。