【技术实现步骤摘要】
神经网络模型的编译方法、装置、设备及存储介质
本申请实施例涉及人工智能
,特别涉及一种神经网络模型的编译方法、装置、设备及存储介质。
技术介绍
神经网络是由处理单元广泛地互相连接形成的复杂网络系统,通过调整内部节点之间相互连接的关系,从而达到处理信息的目的。在神经网络的模型推理过程中,为了提高计算机硬件的运算效率,提高神经网络模型的运行速度,通常采用提前编译(AheadofTime,AOT)的方式对神经网络模型进行编译,预先离线生成目标程序。然而,若采用相关技术中的AOT编译器对神经网络模型进行编译,串行分析、优化并生成机器指令,则神经网络模型复杂度越高,其需要的编译时长越多,导致神经网络模型的推理部署效率降低。
技术实现思路
本申请实施例提供了一种神经网络模型的编译方法、装置、设备及存储介质。所述技术方案如下:一方面,本申请实施例提供了一种神经网络模型的编译方法,所述方法包括:获取神经网络模型的图表示和中间表示,所述图表示用于表征所述神经网络模型的网络结构,所述中间表示是采用中间语 ...
【技术保护点】
1.一种神经网络模型的编译方法,其特征在于,所述方法包括:/n获取神经网络模型的图表示和中间表示,所述图表示用于表征所述神经网络模型的网络结构,所述中间表示是采用中间语言的代码;/n根据所述图表示的特征,将所述图表示拆分为至少两个子图;/n通过至少两个编译服务实例,对至少两个所述子图对应的子图中间表示进行并行编译,得到至少两段目标子程序,所述目标子程序为硬件的可识别代码;/n对至少两段所述目标子程序进行组合,得到所述神经网络模型的目标程序。/n
【技术特征摘要】
1.一种神经网络模型的编译方法,其特征在于,所述方法包括:
获取神经网络模型的图表示和中间表示,所述图表示用于表征所述神经网络模型的网络结构,所述中间表示是采用中间语言的代码;
根据所述图表示的特征,将所述图表示拆分为至少两个子图;
通过至少两个编译服务实例,对至少两个所述子图对应的子图中间表示进行并行编译,得到至少两段目标子程序,所述目标子程序为硬件的可识别代码;
对至少两段所述目标子程序进行组合,得到所述神经网络模型的目标程序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述图表示的特征,将所述图表示拆分为至少两个子图,包括:
获取所述图表示中计算节点的硬件支持特征、网络拓扑特征和数据量特征中的至少一种,所述硬件支持特征用于表征所述计算节点在不同硬件上的运行效率,所述数据量特征用于表征所述计算节点在计算过程中所占用硬件缓存的大小;
根据所述硬件支持特征、网络拓扑特征和数据量特征中的至少一种,将所述图表示拆分为至少两个所述子图。
3.根据权利要求2所述的方法,其特征在于,所述图表示的特征包括所述硬件支持特征;
所述根据所述硬件支持特征、网络拓扑特征和数据量特征中的至少一种,将所述图表示拆分为至少两个所述子图,包括:
根据所述硬件支持特性确定所述计算节点对应的目标硬件类型,其中,所述计算节点在所述目标硬件类型对应目标硬件上的运行效率高于在其他硬件上的运行效率;
根据所述目标硬件类型将所述图表示拆分为至少两个所述子图,其中,同一子图中的计算节点对应相同目标硬件类型。
4.根据权利要求2所述的方法,其特征在于,所述图表示的特征包括所述网络拓扑特征;
所述根据所述硬件支持特征、网络拓扑特征和数据量特征中的至少一种,将所述图表示拆分为至少两个所述子图,包括:
根据所述网络拓扑特征确定所述计算节点中的条件判断节点;将所述条件判断节点对应的不同条件判断分支划分为不同子图;
和/或,
根据所述网络拓扑特征将执行同一计算任务的计算节点划分至同一子图。
5.根据权利要求2所述的方法,其特征在于,所述图表示的特征包括所述数据量特征;
所述根据所述硬件支持特征、网络拓扑特征和数据量特征中的至少一种,将所述图表示拆分为至少两个所述子图,包括:
获取第n计算节点的第n权重数据量和第n计算数据量,以及第n+1计算节点的第n+1权重数据量,其中,权重数据量为所述计算节点中网络权重的数据量,计算数据量为所述计算节点计算过程中产生数据的数据量,所述第n计算节点与所述第n+1计算节点为连续计算节点,n为正整数;
响应于所述第n权重数据量、所述第n计算数据量和所述第n+1权重数据量的数据总量小于数据量阈值,将所述第n计算节点和所述第n+1计算节点划分至同一子图。
6.根据权利要求2至5任一所述...
【专利技术属性】
技术研发人员:刘君,
申请(专利权)人:OPPO广东移动通信有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。