【技术实现步骤摘要】
神经网络模型部署方法、装置、电子设备及存储介质
[0001]本公开涉及计算机
,尤其涉及一种神经网络模型部署方法、装置、电子设备及存储介质。
技术介绍
[0002]随着人工智能技术和非冯诺依曼硬件架构的发展,学术领域及产业领域中出现了诸多新型的硬件设备,例如多核芯片、众核芯片、深度学习加速器、神经形态芯片、类脑计算芯片等。
[0003]而基于目前的深度学习、类脑计算等技术下所创建的神经网络模型的算法框架,与上述新型硬件设备所支持的算法框架可能不同,不同算法框架下的神经网络模型可能无法直接在上述硬件设备中部署执行,这影响上述硬件设备的可用性和易用性。
技术实现思路
[0004]有鉴于此,本公开提出了一种神经网络模型部署方法、装置、电子设备及存储介质,以高效统一地将不同算法框架下的原始神经网络模型,转换成能部署到上述硬件设备上的硬件可执行文件。
[0005]根据本公开的一方面,提供了一种神经网络模型部署方法,包括:获取待部署到硬件设备上的原始神经网络模型所对应的原始计算图;将所述原始计算图转换为基于目标算子集构成的中间计算图,所述目标算子集为所述硬件设备支持的算子集;根据所述硬件设备对应的硬件约束条件,将所述中间计算图转换为适配所述硬件设备的目标计算图,所述硬件约束条件是基于所述硬件设备对应的数据精度、硬件资源以及所述目标算子集中的至少一种所确定的;基于所述目标计算图,确定硬件可执行文件,所述硬件可执行文件用于部署到所述硬件设备上。
[0006]在一种可能的实现方式中,所述将 ...
【技术保护点】
【技术特征摘要】
1.一种神经网络模型部署方法,其特征在于,包括:获取待部署到硬件设备上的原始神经网络模型所对应的原始计算图;将所述原始计算图转换为基于目标算子集构成的中间计算图,所述目标算子集为所述硬件设备支持的算子集;根据所述硬件设备对应的硬件约束条件,将所述中间计算图转换为适配所述硬件设备的目标计算图,所述硬件约束条件是基于所述硬件设备对应的数据精度、硬件资源以及所述目标算子集中的至少一种所确定的;基于所述目标计算图,确定硬件可执行文件,所述硬件可执行文件用于部署到所述硬件设备上。2.根据权利要求1所述的方法,其特征在于,所述将所述原始计算图转换为基于目标算子集构成的中间计算图,包括:利用所述目标算子集中的目标算子,替换所述原始计算图中的原始计算节点,得到与所述原始计算节点等价的中间计算节点;根据所述硬件设备对应的数据存储规则,生成与所述中间计算节点关联的中间存储节点,所述数据存储规则用于指示所述硬件设备支持的数据存储方式;根据所述原始计算图中各个节点之间的数据依赖关系,建立所述中间计算节点与所述中间存储节点之间的有向边,得到所述中间计算图,其中,所述数据依赖关系表征所述原始计算图中各个节点之间的关联关系。3.根据权利要求2所述的方法,其特征在于,所述利用所述目标算子集中的目标算子,替换所述原始计算图中的原始计算节点,得到与所述原始计算节点等价的中间计算节点,包括:确定所述原始计算图中能被所述目标算子集中的目标算子等价替换的第一原始计算节点,以及确定所述原始计算图中不能被所述目标算子集中的目标算子等价替换的第二原始计算节点;将能等价替换所述第一原始计算节点的目标算子,作为与所述第一原始计算节点等价的计算节点;将不能被等价替换的所述第二原始计算节点转换成占位节点,并记录所述占位节点对应的第二原始计算节点的算子信息;其中,所述中间计算节点包括:与所述第一原始计算节点等价的计算节点以及所述第二原始计算节点转换成的占位节点。4.根据权利要求3所述的方法,其特征在于,所述原始计算图中包括多个第一原始计算节点,所述将能等价替换所述第一原始计算节点的目标算子,作为与所述第一原始计算节点等价的计算节点,包括:针对所述原始计算图中的任一个第一原始计算节点,在所述目标算子集中存在至少两个目标算子能等价替换所述第一原始计算节点的情况下,根据所述至少两个目标算子各自对应的计算效率和/或存储效率,确定与所述第一原始计算节点等价的计算节点。5.根据权利要求2或3所述的方法,其特征在于,在建立所述中间计算节点与所述中间存储节点之间的有向边之后,所述将所述原始计算图转换为基于目标算子集构成的中间计算图,还包括:
在所述原始计算图中包括用于执行数据重排操作的第三原始计算节点的情况下,根据所述第三原始计算节点在所述原始计算图中的节点位置,将所述第三原始计算节点转换成数据重排信息,并将所述数据重排信息记录于与所述节点位置对应的有向边上;其中,所述数据重排操作包括用于改变数据排布且不产生计算的操作,所述数据重排信息用于指示所述数据重排操作。6.根据权利要求5所述的方法,其特征在于,在得到所述数据重排信息之后,所述将所述原始计算图转换为基于目标算子集构成的中间计算图,还包括:根据所述硬件设备对应的数据存储规则,消除冗余的数据重排信息,和/或,将同一有向边上的至少两个数据重排信息融合为单个数据重排信息。7.根据权利要求2或3所述的方法,其特征在于,所述中间计算节点包括:与第一原始计算节点等价的计算节点,所述第一原始计算节点是所述原始计算图中能被所述目标算子集中目标算子等价替换的节点;其中,在建立所述中间计算节点与所述中间存储节点之间的有向边之后,所述将所述原始计算图转换为基于目标算子集构成的中间计算图,还包括:根据所述硬件设备对应的算子计算规则,将满足所述算子计算规则且存在数据依赖关系的至少两个计算节点融合成单个计算节点,其中,所述硬件计算规则用于指示所述硬件设备能单次执行计算的至少两个目标算子。8.根据权利要求1所述的方法,其特征在于,所述硬件约束条件包括:所述硬件设备的数据精度需求、硬件资源限制...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。