一种跨平台的神经网络模型部署方法技术

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

【技术实现步骤摘要】
一种跨平台的神经网络模型部署方法


[0001]本专利技术涉及神经网络的模型部署,特别是涉及一种跨平台的神经网络模型部署方法。

技术介绍

[0002]随着智能汽车的迅速发展,ADAS、自动驾驶技术为驾驶员提供安全舒适的驾驶环境,从而可以实现特定场景的驾驶功能,实现危险预警,自动采取安全措施等,但这些功能的提高,往往依赖于神经网络模型的建立,而传统的神经网络由于模型的计算量大,嵌入式设备往往缺乏大的算力进行模型的运行,无法确保模型的实时性,需要对已进行训练好的模型进行压缩并部署在需要运行的嵌入式设备中。但是由于不同的模型部署在不同的软硬件平台,往往会导致不兼容或不支持的问题,如目前存在三大平台,Intel、Nvidia、ARM三大平台,其模型的部署并不相同,往往需要针对不同的平台进行对应模型文件的准备,才能够完成,这使得模型部署较为繁琐和耗时。另外,存在模型精度失真的情况而无法满足要求。另外,在车内部署神经网络模型时,需要考虑预测结果的实时性,感知所需花费时间需要达到毫米级,否则,车辆行驶过程中前方的障碍物无法实时检测,因此如何在车内提供实时的神经网络模型,如:目标检测,目标追踪成为汽车ADAS、自动驾驶迫切需要解决的技术问题。

技术实现思路

[0003]基于现有技术中存在的缺陷,本申请实施例提供一种跨平台的神经网络模型部署方法,至少包括:获取硬件参数配置和操作系统内核配置;
[0004]根据硬件参数配置和操作系统内核配置,从模型文件库中获取对应的主文件包、附加文件包;
[0005]判断操作系统是否安装有量化模型支持服务解析应用,若未安装,则从模型文件库中获取对应的URL下载后进行安装并将安装路径添加入系统环境变量;
[0006]获取主文件包相匹配的原始神经网络模型对应的权重文件;
[0007]通过对主文件包、附加文件包结合权重文件进行预处理、权重文件格式转化并进行编译后获取用于推理文件的序列化推理引擎;
[0008]根据序列化推理引擎获取反序化推理引擎,载入视频或图像后应用反序列化引擎输出模型识别结果。
[0009]一种跨平台的神经网络模型部署方法,进一步可选的,量化模型支持服务解析应用包括:根据底层硬件配置,服务于推理模型,为推理模型中涉及的函数调用系统软硬件资源提供接口。
[0010]一种跨平台的神经网络模型部署方法,进一步可选的,模型部署文件库运行在操作系统之上,模型部署文件库至少包括:主文件包、平台支撑文件包,附加文件包中的一种或多种。
[0011]一种跨平台的神经网络模型部署方法,进一步可选的,主文件包用于根据已训练
好的神经网络模型以及对应的软件与硬件平台,提供用于实现模型从输入到输出的量化模型源码文件;
[0012]平台支撑文件包包括:量化模型支持服务解析应用对应的不同版本的URL;
[0013]附加文件包,存储相应神经网络模型的原始权重文件的URL、自动安装脚本、设置环境变量脚本、查询动态链接库或静态链接库脚本。
[0014]一种跨平台的神经网络模型部署方法,进一步可选的,,若量化模型支持服务解析应用与主文件包中的文件都不匹配,则向用户请求是否卸载当前量化模型支持服务解析应用,若用户同意,则卸载当前版本,自动下载匹配量化模型支持服务应用并安装;
[0015]更新系统的配置文件以编译所需的动态链接库和/或静态链接库的路径。
[0016]一种跨平台的神经网络模型部署方法,进一步可选的,将原始权重文件导入原始神经网络模型后转化为onnx格式的权重文件,然后将onnx权重文件转化用于量化格式的权重文件;
[0017]量化格式的权重文件的每层参数包括:每层的参数总数、每层的名称,每层的权重参数,参数排列成一行;
[0018]每一行权重参数对应神经网络的每一层权重系数。
[0019]一种跨平台的神经网络模型部署方法,进一步可选的,检测整个原始神经网络模型结构,对原始原始神经网络模型结构进行预处理,具体预处理至少包括以下步骤之一:
[0020]对于用于shape、size返回值的参数时,避免直接使用tensor.size的返回值,需要在加上int转化;
[0021]对于上采样使用nn.Upsample函数,需要使用scale_factor指定倍率,而不是用标准接口size参数指定大小;
[0022]对于Reshape、view操作时,

1的指定需要放到第零个维度,第零个维度禁止指定大于

1的数字。
[0023]一种跨平台的神经网络模型部署方法,进一步可选的,在加载输入图像或视频数据前进入反序化推理引擎之前,需要对输入图像或视频数据进行前处理,使其符合神经网络模型标准化输入;
[0024]或输入数据喂入反序列化推理引擎之后获取的输出数据需要进行后处理,解析原始图像大小。
[0025]一种跨平台的神经网络模型部署方法,进一步可选的,前处理包括:
[0026]获取原始图像的宽W0和高H0以及输入的标准图像的宽W1和高H1;
[0027]获取缩放因子r,其中,r=min(H1/H0,W1/W0)
[0028]将原始图像缩放为r倍,获取缩放图像;
[0029]如果:W0>H0,则获取边框填充值为:m=(W0*r

H0*r)%最大步长;
[0030]若:W0<H0,则获取边框填充值为:m=(H0*r

W0*r)%最大步长;
[0031]如果:W0>H0,创建宽W1和H0*r+m的空白图像;
[0032]如果:W0<H0,创建宽W0*r+m和H1的空白图像;
[0033]将空白图像与缩放图像进行融合,融合中,缩放图像的坐标原点(X,Y)设置为:
[0034]如果:W0>H0,X=W1,Y=m/2;如果:W0<H0,X=m/2,Y=0;
[0035]其中,X,Y为横坐标和纵坐标。
[0036]一种跨平台的神经网络模型部署方法,进一步可选的,在前处理或后处理阶段,判断预处理或后处理所需算力是否大于预设阈值,若大于预设阈值,则需要对高算力处理步骤进行自定义算子,采用多线程并发同步运行。
[0037]一种跨平台的神经网络模型部署方法,进一步可选的,主文件包中用于实现神经网络模型的主文件,编译形成序列化推理引擎阶段,对模型的权重系数中的权重文件参数进行压缩,数据类型压缩为FP32、FP16或INT8中的一种。
[0038]一种跨平台的神经网络模型部署方法,进一步可选的,主文件包中用于实现神经网络模型的主文件,编译形成序列化推理引擎阶段,数据类型至少分别压缩为FP32、FP16、INT8,形成对应的序列化推理引擎;
[0039]在反序化推理引擎形成,喂入用于测试模型转化后的预设图像数据或视频数据并通过反序列化推本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨平台的神经网络模型部署方法,其特征在于,至少包括:获取硬件参数配置和操作系统内核配置;根据硬件参数配置和操作系统内核配置,从模型文件库中获取对应的主文件包、附加文件包;判断操作系统是否安装有量化模型支持服务解析应用,若未安装,则从模型文件库中获取对应的URL下载后进行安装并将安装路径添加入系统环境变量;获取主文件包相匹配的原始神经网络模型对应的权重文件;通过对主文件包、附加文件包结合权重文件进行预处理、权重文件格式转化并进行编译后获取用于推理文件的序列化推理引擎;根据序列化推理引擎获取反序列化推理引擎,载入视频或图像后应用反序列化引擎输出模型识别结果。2.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,量化模型支持服务解析应用包括:根据底层硬件配置,服务于推理模型,为推理模型中涉及的函数调用系统软硬件资源提供接口。3.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,模型文件库运行在操作系统之上,模型文件库至少包括:主文件包、平台支撑文件包,附加文件包中的一种或多种。4.如权利要求3所述的一种跨平台的神经网络模型部署方法,其特征在于,主文件包用于根据已训练好的神经网络模型以及对应的软件与硬件平台,提供用于实现模型从输入到输出的量化模型源码文件;平台支撑文件包包括:量化模型支持服务解析应用对应的不同版本的URL;附加文件包,存储相应神经网络模型的原始权重文件的URL、自动安装脚本、设置环境变量脚本、查询动态链接库或静态链接库脚本。5.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,若量化模型支持服务解析应用与主文件包中的文件都不匹配,则向用户请求是否卸载当前量化模型支持服务解析应用,若用户同意,则卸载当前版本,自动下载匹配量化模型支持服务解析应用并安装;更新系统的配置文件以编译所需的动态链接库和/或静态链接库的路径。6.如权利要求1所述的一种跨平台的神经网络模型部署方法,其特征在于,将原始权重文件导入原始神经网络模型后转化为onnx格式的权重文件,然后将onnx权重文件转化用于量化格式的权重文件;量化格式的权重文件的每层参数包括:每层的参数总数、每层的名称,每层的权重参数,参数排列成一行;每一行权重参数对应神经网络的每一层权重系数。7.如权利要求6所述的一种跨平台的神经网络模型部署方法,其特征在于,检测整个原始神经网络模型结构,对原始神经网络模型结构进行预处理,具体预处理至少包括以下步骤之一:对于用于shape、size返回值的参数时,避免直接使用tensor.size的返回值,需要再加上int转化;
对于上采样使用nn.Upsa...

【专利技术属性】
技术研发人员:肖文平何敖东
申请(专利权)人:上海赫千电子科技有限公司
类型:发明
国别省市:

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

1