本申请属于深度学习领域,具体涉及一种模型的部署方法、电子设备及存储介质。
背景技术:
1、在pytroch环境上开发模型,其开发效率高,但不利于将开发模型部署到运行平台上。相关技术中,为了把pytorch模型部署到各个平台运行,常采用的方法是把pytorch模型转到一种通用的中间模型,再把中间模型转到确定的平台上面。例如把pytorch模型转到中间的开放神经网络交换(open neural network exchange,onnx)模型,再将onnx模型通过各个平台的编译器转换成平台可识别的模型。
2、但是随着模型种类变多,模型结构越来越复杂,在将pytorch模型转换到中间模型的过程中,很多pytorch模型的私有层(也可称为私有算子)需要用户手动去中间模型中实现,再移植到平台去编译,这个过程拉长了模型部署的周期,使得模型部署过程存在部署周期过长的问题。
技术实现思路
1、本申请实施例提供一种模型的部署方法、电子设备及存储介质,能够解决模型部署周期过长的问题。
2、第一方面,本申请实施例提供了一种模型的部署方法,该方法包括:提取待部署的原始模型的第一私有层;提取所述第一私有层的代码实现;在将所述原始模型转换为中间模型的过程中,将所述第一私有层转换为所述中间模型的第二私有层,其中,所述中间模型为开放式神经网络交换格式的模型;根据所述中间模型和所述第一私有层的代码实现进行模型编译,得到目标平台支持的目标模型;将所述目标模型部署到所述目标平台。
3、第二方面,本申请实施例提供了一种模型的部署装置,该装置包括:第一提取模块,用于提取待部署的原始模型的第一私有层;第二提取模块,用于提取所述第一私有层的代码实现;第一转换模块,用于在将所述原始模型转换为中间模型的过程中,将所述第一私有层转换为所述中间模型的第二私有层,其中,所述中间模型为开放式神经网络交换格式的模型;第二转换模块,用于根据所述中间模型和所述第一私有层的代码实现进行模型编译,得到目标平台支持的目标模型;部署模块,用于将所述目标模型部署到所述目标平台。
4、第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
5、第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
6、在本申请实施例中,通过提取待部署的原始模型的第一私有层;提取第一私有层的代码实现;在将原始模型转换为中间模型的过程中,将第一私有层转换为中间模型的第二私有层,其中,中间模型为开放式神经网络交换格式的模型;根据中间模型和第一私有层的代码实现进行模型编译,得到目标平台支持的目标模型;将目标模型部署到目标平台,能够自动提取待部署的原始模型的第一私有层并进行私有层的转换,自动实现模型的转换,进而实现模型在目标平台的部署,缩短了模型部署转换周期,解决了模型部署周期过长的问题,提升了模型转换部署的效率。
1.一种模型的部署方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述提取所述原始模型的第一私有层,包括以下至少一者:
3.根据权利要求1所述的方法,其特征在于,所述提取所述第一私有层的代码实现,包括:
4.根据权利要求3所述的方法,其特征在于,所述对所述主函数进行迭代解析,以将所述主函数加入所述已支持函数集,包括:
5.根据权利要求1所述的方法,其特征在于,所述将所述第一私有层转换为所述中间模型的第二私有层,包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述中间模型和所述第一私有层的代码实现进行模型编译,得到目标平台支持的目标模型,包括:
7.根据权利要求5所述的方法,其特征在于,在所述根据所述中间模型和所述第一私有层的代码实现进行模型编译之前,还包括:
8.根据权利要求1所述的方法,其特征在于,在所述得到目标平台支持的目标模型之后,还包括:
9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-8任一项所述的模型的部署方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-8任一项所述的模型的部署方法的步骤。
