一种跨平台的神经网络模型部署方法与流程

文档序号:33645397发布日期:2023-03-29 03:35阅读:来源:国知局

技术特征:
1.一种跨平台的神经网络模型部署方法,其特征在于,至少包括:获取硬件参数配置和操作系统内核配置;根据硬件参数配置和操作系统内核配置,从模型文件库中获取对应的主文件包、附加文件包;判断操作系统是否安装有量化模型支持服务解析应用,若未安装,则从模型文件库中获取对应的url下载后进行安装并将安装路径添加入系统环境变量;获取主文件包相匹配的原始神经网络模型对应的权重文件;通过对主文件包、附加文件包结合权重文件进行预处理、权重文件格式转化并进行编译后获取用于推理文件的序列化推理引擎;根据序列化推理引擎获取反序列化推理引擎,载入视频或图像后应用反序列化引擎输出模型识别结果。2.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,量化模型支持服务解析应用包括:根据底层硬件配置,服务于推理模型,为推理模型中涉及的函数调用系统软硬件资源提供接口。3.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,模型文件库运行在操作系统之上,模型文件库至少包括:主文件包、平台支撑文件包,附加文件包中的一种或多种。4.如权利要求3所述的一种跨平台的神经网络模型部署方法,其特征在于,主文件包用于根据已训练好的神经网络模型以及对应的软件与硬件平台,提供用于实现模型从输入到输出的量化模型源码文件;平台支撑文件包包括:量化模型支持服务解析应用对应的不同版本的url;附加文件包,存储相应神经网络模型的原始权重文件的url、自动安装脚本、设置环境变量脚本、查询动态链接库或静态链接库脚本。5.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,若量化模型支持服务解析应用与主文件包中的文件都不匹配,则向用户请求是否卸载当前量化模型支持服务解析应用,若用户同意,则卸载当前版本,自动下载匹配量化模型支持服务解析应用并安装;更新系统的配置文件以编译所需的动态链接库和/或静态链接库的路径。6.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,将原始权重文件导入原始神经网络模型后转化为onnx格式的权重文件,然后将onnx权重文件转化用于量化格式的权重文件;量化格式的权重文件的每层参数包括:每层的参数总数、每层的名称,每层的权重参数,参数排列成一行;每一行权重参数对应神经网络的每一层权重系数。7.如权利要求6所述的一种跨平台的神经网络模型部署方法,其特征在于,检测整个原始神经网络模型结构,对原始神经网络模型结构进行预处理,具体预处理至少包括以下步骤之一:对于用于shape、size返回值的参数时,避免直接使用tensor.size的返回值,需要再加上int转化;
对于上采样使用nn.upsample函数,需要使用scale_factor指定倍率,而不是用标准接口size参数指定大小;对于reshape、view操作时,-1的指定需要放到第零个维度,第零个维度禁止指定大于-1的数字。8.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,在加载输入图像或视频数据进入反序列化推理引擎之前,需要对输入图像或视频数据进行前处理,使其符合神经网络模型标准化输入;或输入数据喂入反序列化推理引擎之后获取的输出数据需要进行后处理,解析原始图像大小。9.如权利要求8所述的一种跨平台的神经网络模型部署方法,其特征在于,前处理包括:获取原始图像的宽w0和高h0以及输入的标准图像的宽w1和高h1;获取缩放因子r,其中,r=min(h1/h0,w1/w0)将原始图像缩放为r倍,获取缩放图像;如果:w0>h0,则获取边框填充值为:m=(w0*r-h0*r)%最大步长;若:w0<h0,则获取边框填充值为:m=(h0*r-w0*r)%最大步长;如果:w0>h0,创建宽w1和h0*r+m的空白图像;如果:w0<h0,创建宽w0*r+m和h1的空白图像;将空白图像与缩放图像进行融合,融合中,缩放图像的坐标原点(x,y)设置为:如果:w0>h0,x=w1,y=m/2;如果:w0<h0,x=m/2,y=0;其中,x,y为横坐标和纵坐标。10.如权利要求8所述的一种跨平台的神经网络模型部署方法,其特征在于,在前处理或后处理阶段,判断预处理或后处理所需算力是否大于预设阈值,若大于预设阈值,则需要对高算力处理步骤进行自定义算子,采用多线程并发同步运行。11.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,主文件包中用于实现神经网络模型的主文件,编译形成序列化推理引擎阶段,对模型的权重系数中的权重文件参数进行压缩,数据类型压缩为fp32、fp16或int8中的一种。12.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,主文件包中用于实现神经网络模型的主文件,编译形成序列化推理引擎阶段,数据类型至少分别压缩为fp32、fp16、int8,形成对应的序列化推理引擎;在反序列化推理引擎形成,喂入用于测试模型转化后的预设图像数据或视频数据并通过反序列化推理引擎获取输出后;计算数据压缩后每种数据类型对应的推理结果的精度;选择精度在预设阈值范围内压缩范围最大的序列化推理引擎和反序列化推理引擎。

技术总结
本发明提供一种跨平台的神经网络模型部署方法,具体包括:根据硬件参数配置和操作系统内核配置,从模型文件库中获取对应的主文件包、附加文件包;获取主文件包相匹配的原始神经网络模型对应的权重文件;通过对主文件包、附加文件包结合权重文件进行预处理、权重文件格式转化并进行编译后获取用于推理文件的序列化推理引擎;根据序列化推理引擎获取反序列化推理引擎,载入视频或图像后应用反序列化引擎输出模型识别结果。本发明提供不同的平台文件模型文件库,并且通过对应的设置方案,能够兼容不同的平台,使得采用本申请的技术方案能够适配不同的软件和硬件平台,提升兼容性,加速神经网络模型的推理。速神经网络模型的推理。速神经网络模型的推理。


技术研发人员:肖文平 何敖东
受保护的技术使用者:上海赫千电子科技有限公司
技术研发日:2022.11.30
技术公布日:2023/3/28
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1