[发明专利]神经网络模型部署方法及装置、电子设备和存储介质在审
申请号: | 202111404914.0 | 申请日: | 2021-11-24 |
公开(公告)号: | CN114356336A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 胡健;王燕飞;王裕淞 | 申请(专利权)人: | 北京市商汤科技开发有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/61 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 100080 北京市海淀区北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 模型 部署 方法 装置 电子设备 存储 介质 | ||
1.一种神经网络模型部署方法,其特征在于,应用于电子设备,所述方法包括:
获取待部署的神经网络模型;
对所述神经网络模型进行编译,得到编译后的离线模型,所述离线模型包括多个离线子模型,每个所述离线子模型部署到对应的硬件后端,各种硬件后端分别对应于将神经网络模型部署至硬件设备的不同工具链,每个硬件设备对应于至少一个硬件后端;
将所述多个离线子模型下发至对应的硬件设备。
2.根据权利要求1所述的方法,其特征在于,所述对所述神经网络模型进行编译,得到编译后的离线模型,包括:
对所述神经网络模型进行结构转换,得到适应于模型变换的内部模型结构;
根据待部署的各个所述硬件后端,对所述内部模型结构进行拆分,得到多个子模型以及所述多个子模型间的串联关系,其中,每一子模型对应一个目标硬件后端;
针对任一子模型,对所述子模型进行与所述目标硬件后端相关的模型变换操作,得到部署到所述目标硬件后端的离线子模型;
根据多个所述离线子模型以及所述串联关系,确定所述离线模型。
3.根据权利要求2所述的方法,其特征在于,所述目标硬件后端为所述子模型可部署的硬件后端中预设优先级最高的硬件后端。
4.根据权利要求3所述的方法,其特征在于,所述根据待部署的各个所述硬件后端,对所述内部模型结构进行拆分之前,还包括:
对所述内部模型结构进行与硬件后端相关的模型变换操作和模型优化操作。
5.根据权利要求4所述的方法,其特征在于,对所述内部模型结构进行与硬件后端相关的模型变换操作,包括:
对所述内部模型结构进行与预设优先级最高的硬件后端相关的模型变换操作。
6.根据权利要求4所述的方法,其特征在于,对所述内部模型结构进行与硬件后端相关的模型变换操作和模型优化操作之前,还包括:
对所述内部模型结构进行与硬件后端无关的模型优化操作。
7.根据权利要求2所述的方法,其特征在于,所述对所述子模型进行与所述目标硬件后端相关的模型变换操作,得到部署到所述目标硬件后端的离线子模型,包括:
对所述子模型进行与所述目标硬件后端相关的模型变换操作,得到第一状态的子模型;
对所述第一状态的子模型进行格式转换,得到第二状态的子模型,其中,所述第二状态的子模型适应于所述目标硬件后端的输入格式;
将所述第二状态的子模型部署到所述目标硬件后端,得到所述离线子模型。
8.根据权利要求2-7中任意一项所述的方法,其特征在于,将所述多个离线子模型下发对应的硬件设备,包括:
通过模型解释器读取所述离线模型的多个所述离线子模型以及多个所述离线子模型间的所述串联关系;
将各个所述离线子模型分别下发到对应的硬件设备,其中,所述模型解释器根据多个所述离线子模型间的所述串联关系,在所述硬件设备运行时串联多个所述离线子模型。
9.根据权利要求1-8中任意一项所述的方法,其特征在于,所述硬件后端包括:使用硬件厂商推理库的硬件后端、使用硬件厂商算子库的硬件后端或使用非硬件厂商提供的算子的硬件后端。
10.一种神经网络模型部署装置,其特征在于,应用于电子设备,包括:
获取模块,用于获取待部署的神经网络模型;
编译模块,用于对所述神经网络模型进行编译,得到编译后的离线模型,所述离线模型包括多个离线子模型,每个所述离线子模型部署到对应的硬件后端,各种硬件后端分别对应于将神经网络模型部署至硬件设备的不同工具链,每个硬件设备对应于至少一个硬件后端;
运行模块,用于将所述多个离线子模型下发至对应的硬件设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京市商汤科技开发有限公司,未经北京市商汤科技开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111404914.0/1.html,转载请声明来源钻瓜专利网。