模型处理方法及相关设备技术

技术编号:25891312 阅读:24 留言:0更新日期:2020-10-09 23:33
本发明专利技术实施例公开一种模型处理方法及相关设备,其中,根据预设算子结构将第一神经网络模型转换成第二神经网络模型,统一模型结构格式,其中,终端侧设备的至少一个硬件计算设备可推理运算第二神经网络模型;再将第二神经网络模型的算子分配给至少一个硬件计算设备中的至少一个设备,以使硬件计算设备运行所分配的算子;模型部署时,无需考虑神经网络模型的网络框架,有效提升模型的部署效率;另外,第二神经网络模型可以被分配给至少一个硬件计算设备进行运行,可以有效提高模型运行效率。

【技术实现步骤摘要】
模型处理方法及相关设备
本专利技术涉及模型
,尤其涉及一种模型处理方法及相关设备。
技术介绍
CPU(CentralProcessingUnit,中央处理器)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。GPU(GraphicsProcessingUnit,图形处理器),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。GPU的生产商主要有NVIDIA和ATI。DSP(DigitalSignalProcessor,数字信号处理)芯片是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。NPU(Neural-networkProcessingUnit,嵌入式神经网络处理器)采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。神经网络作为引领当前人工智能(ArtificialIntelligence,简称AI)发展方向的关键技术,该技术在人脸识别、图像分类、模型处理、视频分析、语音识别、机器翻译等许多领域都取得了显著的效果,神经网络正在迅速被各互联网厂商所采用用于无人驾驶、语音助手、同声翻译等领域。r>在终端侧设备上,会集成多个硬件计算设备(如CPU,GPU,DSP,NPU等),这些硬件计算设备都可以进行神经网络模型推理运算。现有技术中存在多种神经网络框架,例如TensorFlow、keras、PyTorch、MXNet、Caffe2等,每一种神经网络框架都有对应的框架模型结构。现有技术中,神经网络模型的训练工作在PC端进行,当将训练完成的神经网络模型部署到终端侧设备上时,需要开发者针对不同神经网络模型的神经网络框架分别进行部署,导致神经网络模型的部署效率十分低下。另外,一种神经网络模型只能部署在一种硬件计算设备上面进行运行,导致模型运行效率也十分低下,例如,神经网络模型M要么部署在CPU上,要么部署在GPU上,无法同时在CPU和GPU上进行部署。
技术实现思路
本专利技术实施例提供了一种模型处理方法及相关设备,可以提高模型部署效率和模型运行效率。第一方面,本专利技术实施例提供了一种模型处理方法,应用于终端侧设备,所述终端侧设备包括至少一个硬件计算设备,所述方法包括:获取第一神经网络模型;根据所述第一神经网络模型和预设算子结构进行模型转换,得到第二神经网络模型,所述至少一个硬件计算设备可推理运算所述第二神经网络模型;将所述第二神经网络模型的算子分配给所述至少一个硬件计算设备中的至少一个设备,以使所述硬件计算设备运行所分配的算子。在一种可能的实现方式中,所述根据所述第一神经网络模型和预设算子结构进行模型转换,得到第二神经网络模型,包括:根据所述第一神经网络模型和第一算子列表,确定所述终端侧设备可运行所述第一神经网络模型,所述第一算子列表保存有所述终端侧设备的可支持算子名称和算子描述的对应关系;根据所述第一神经网络模型和所述预设算子结构得到所述第二神经网络模型。在一种可能的实现方式中,所述将所述第二神经网络模型的算子分配给所述至少一个硬件计算设备中的至少一个设备,包括:对所述第二神经网络模型进行模型优化,得到优化模型;将所述优化模型的算子分配给所述至少一个硬件计算设备中的至少一个设备。在一种可能的实现方式中,所述将所述第二神经网络模型的算子分配给所述至少一个硬件计算设备中的至少一个设备,包括:根据模型运行需求信息将所述第二神经网络模型的算子分配所述至少一个硬件计算设备中的至少一个设备。在一种可能的实现方式中,所述根据模型运行需求信息将所述第二神经网络模型的算子分配所述至少一个硬件计算设备中的至少一个设备,包括:遍历所述第二神经网络模型的算子以及所述终端侧设备的至少一个硬件计算设备;根据当前遍历的硬件计算设备的第二算子列表,确定当前遍历的硬件计算设备可运行当前遍历的算子,获取当前遍历的硬件计算设备的执行能力信息,所述第二算子列表保存有所述当前遍历的硬件计算设备的可支持算子名称和算子描述的对应关系;根据遍历得到的所述执行能力信息和模型运行需求信息,确定所述第二神经网络模型的每个算子的硬件计算设备属性,算子的硬件计算设备属性为满足所述模型运行需求信息确定的模型运行需求的硬件计算设备;根据所述硬件计算设备属性将所述第二神经网络模型的算子分配给与所述硬件计算设备属性对应的硬件计算设备。在一种可能的实现方式中,所述根据所述硬件计算设备属性将所述第二神经网络模型的算子分配给与所述硬件计算设备属性对应的硬件计算设备,包括:根据所述硬件计算设备属性对所述第二神经网络模型进行模型优化,得到优化模型;根据所述硬件计算设备属性将所述优化模型的算子分配给与所述硬件计算设备属性对应的硬件计算设备。在一种可能的实现方式中,所述方法还包括:对所述第二神经网络模型或所述优化模型进行序列化处理,得到序列化模型文件;保存所述序列化模型文件。在一种可能的实现方式中,所述方法还包括:对所述序列化模型文件进行反序列化处理,得到所述第二神经网络模型或所述优化模型;根据所述硬件计算设备属性将所述第二神经网络模型的算子或所述优化模型的算子分配给与所述硬件计算设备属性对应的硬件计算设备。在一种可能的实现方式中,所述方法还包括:获取经所述硬件计算设备编译后的模型;保存所述编译后的模型。在一种可能的实现方式中,所述方法还包括:获取硬件计算设备在运行所分配的算子的过程中的运行性能参数,所述运行性能参数包括算子运行时间、算子运行内存或算子运行过程事件;保存所述运行性能参数。在一种可能的实现方式中,所述方法还包括:获取所述硬件计算设备运行所分配的算子后得到的算子运行结果;整合所述算子运行结果得到模型运行结果。第二方面,本专利技术实施例提供了一种模型处理装置,应用于终端侧设备,所述终端侧设备包括至少一个硬件计算设备,所述装置包括:第一获取模块,用于获取第一神经网络模型;转换模块,用于根据所述第一神经网络模型和预设算子结构进行模型转换,得到第二神经网络模型,所述至少一个硬件计算设备可推理运算所述第二神经网络模型;分配模块,用于将所述第二神经网络模型的算子分配给所述至少一个硬件计算设备中的至少一个设备,以使所述硬件计算设备运行所分配的算子。在一种可能的实现方式中,所述装置还包括:第二获取模块,用于获取所述硬件计算设备运行所分配的算子后得到的算子运行结果;整合模块,用于整合所述本文档来自技高网...

【技术保护点】
1.一种模型处理方法,其特征在于,应用于终端侧设备,所述终端侧设备包括至少一个硬件计算设备,所述方法包括:/n获取第一神经网络模型;/n根据所述第一神经网络模型和预设算子结构进行模型转换,得到第二神经网络模型,所述至少一个硬件计算设备可推理运算所述第二神经网络模型;/n将所述第二神经网络模型的算子分配给所述至少一个硬件计算设备中的至少一个设备,以使所述硬件计算设备运行所分配的算子。/n

【技术特征摘要】
1.一种模型处理方法,其特征在于,应用于终端侧设备,所述终端侧设备包括至少一个硬件计算设备,所述方法包括:
获取第一神经网络模型;
根据所述第一神经网络模型和预设算子结构进行模型转换,得到第二神经网络模型,所述至少一个硬件计算设备可推理运算所述第二神经网络模型;
将所述第二神经网络模型的算子分配给所述至少一个硬件计算设备中的至少一个设备,以使所述硬件计算设备运行所分配的算子。


2.根据权利要求1所述的方法,其特征在于,所述根据所述第一神经网络模型和预设算子结构进行模型转换,得到第二神经网络模型,包括:
根据所述第一神经网络模型和第一算子列表,确定所述终端侧设备可运行所述第一神经网络模型,所述第一算子列表保存有所述终端侧设备的可支持算子名称和算子描述的对应关系;
根据所述第一神经网络模型和所述预设算子结构得到所述第二神经网络模型。


3.根据权利要求1所述的方法,其特征在于,所述将所述第二神经网络模型的算子分配给所述至少一个硬件计算设备中的至少一个设备,包括:
对所述第二神经网络模型进行模型优化,得到优化模型;
将所述优化模型的算子分配给所述至少一个硬件计算设备中的至少一个设备。


4.根据权利要求1至3任一项所述的方法,其特征在于,所述将所述第二神经网络模型的算子分配给所述至少一个硬件计算设备中的至少一个设备,包括:
根据模型运行需求信息将所述第二神经网络模型的算子分配所述至少一个硬件计算设备中的至少一个设备。


5.根据权利要求4所述的方法,其特征在于,所述根据模型运行需求信息将所述第二神经网络模型的算子分配所述至少一个硬件计算设备中的至少一个设备,包括:
遍历所述第二神经网络模型的算子以及所述终端侧设备的至少一个硬件计算设备;根据当前遍历的硬件计算设备的第二算子列表,确定当前遍历的硬件计算设备可运行当前遍历的算子,获取当前遍历的硬件计算设备的执行能力信息,所述第二算子列表保存有所述当前遍历的硬件计算设备的可支持算子名称和算子描述的对应关系;
根据遍历得到的所述执行能力信息和模型运行需求信息,确定所述第二神经网络模型的每个算子的硬件计算设备属性,算子的硬件计算设备属性为满足所述模型运行需求信息确定的模型运行需求的硬件计算设备;
根据所述硬件计算设备属性将所述第二神经网络模型的算子分配给与所述硬件计算设备属性对应的硬件计算设备。


6.根据权利要求5所述的方法,其特征在于,所述根据所述硬件计算设备属性将所述第二神经网络模型的算子分配给与所述硬件计算设备属性对应的硬件计算设备,包括:
根据所述硬件计算设备属性对所述第二神经网络模型进行模型优化,得到优化模型;
根据所述硬件计算设备属性将所述优化模型的算子分配给与所述硬件计算设备属性对应的硬件计算设备。

【专利技术属性】
技术研发人员:李健田海立程勇
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1