1.本公开涉及计算机技术领域,尤其涉及一种基于深度学习框架生成和应用深度学习模型的方法及装置。
背景技术:2.随着人工智能技术的发展,越来越多的企业使用深度学习框架开发深度学习模型解决各自业务场景的问题。典型流程是:业务需求方根据自身的业务场景提出需求,算法工程师选择合适的基础算法,准备合适的数据,使用深度学习框架经过数据处理、算法优化、参数优化、模型训练等一系列动作训练出符合需求的深度学习模型,并且部署到实际的业务生产环境中,最终业务上线。
3.但是采用上述方案解决问题时,人工处理的过程过于繁琐,且经过人工处理后得到的算法,可能会存在业务环境不适配的问题。
4.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:5.本公开提供了一种基于深度学习框架生成和应用深度学习模型的方法及装置。
6.根据本公开的一方面,提供了一种基于深度学习框架生成和应用深度学习模型的方法,包括:在目标设备上构建基础运行环境,所述基础运行环境为深度学习模型的整体生成过程提供环境准备;按照业务需求和/或硬件需求,在所述基础运行环境中生成所述深度学习模型的基础功能,得到第一处理结果;基于所述第一处理结果在所述基础运行环境中生成所述深度学习模型的扩展功能,得到第二处理结果;利用预设测试脚本对所述第二处理结果进行功能测试,输出测试结果。
7.可选地,在所述目标设备上构建所述基础运行环境包括:获取所述目标设备的硬件配置信息;基于所述硬件配置信息,确定所述目标设备的软件配置信息;利用所述硬件配置信息和所述软件配置信息,构建所述基础运行环境。
8.可选地,基于所述硬件配置信息,确定所述目标设备的软件配置信息包括:基于所述硬件配置信息,确定所述目标设备的操作系统信息、深度学习框架信息、模型库信息、预训练模型以及所述预训练模型对应的训练数据与预测数据。
9.可选地,按照所述业务需求和所述硬件需求,在所述基础运行环境中生成所述深度学习模型的基础功能,得到所述第一处理结果包括:确定所述深度学习模型的整体生成过程中所包含的多个处理环节,所述多个处理环节用于开发、训练和推理所述深度学习模型;按照所述业务需求和/或所述硬件需求,在所述基础运行环境中生成所述多个处理环节中每个处理环节的基础功能,得到所述第一处理结果。
10.可选地,按照所述业务需求和/或所述硬件需求,在所述基础运行环境中生成所述多个处理环节中每个处理环节的基础功能,得到所述第一处理结果包括:按照所述业务需求在所述基础运行环境中生成所述多个处理环节中第一部分处理环节的基础功能,得到第
三处理结果;按照所述硬件需求在所述基础运行环境中生成所述多个处理环节中第二部分处理环节的基础功能,得到第四处理结果;按照所述业务需求和所述硬件需求在所述基础运行环境中生成所述多个处理环节中第三部分处理环节的基础功能,得到第五处理结果;利用所述第三处理结果、所述第四处理结果和所述第五处理结果生成所述多个处理环节中每个处理环节的基础功能,得到所述第一处理结果。
11.可选地,按照所述业务需求在所述基础运行环境中生成所述第一部分处理环节的基础功能,得到所述第三处理结果包括:按照所述业务需求从模型库中选取在所述基础运行环境中待使用的模型算法;按照所述业务需求选取在所述基础运行环境中待使用的模型压缩方式;按照所述业务需求选取在所述基础运行环境中待使用的预测部署方式;将所述模型算法、所述模型压缩方式和所述预测部署方式确定为所述第三处理结果。
12.可选地,按照所述硬件需求在所述基础运行环境中生成所述多个处理环节中第二部分处理环节的基础功能,得到所述第四处理结果包括:按照所述硬件需求配置在所述基础运行环境中待使用的第一软硬件环境和第二软硬件环境,所述第一软硬件环境为模型训练所使用的软硬件环境,所述第二软硬件环境为模型推理部署所使用的软硬件环境;将所述第一软硬件环境与所述第二软硬件环境确定为所述第四处理结果。
13.可选地,按照所述业务需求和所述硬件需求在所述基础运行环境中生成所述多个处理环节中第三部分处理环节的基础功能,得到所述第五处理结果包括:按照所述业务需求和所述硬件需求选取在所述基础运行环境中待使用的模型训练方式;将所述模型训练方式确定为所述第五处理结果。
14.可选地,所述多个处理环节包括:模型算法选择环节;模型训练软硬件环境配置环节;模型训练方式选择环节;模型压缩方式选择环节;模型训练环节;模型保存环节;模型预测部署方式选择环节;模型推理部署软硬件环境配置环节。
15.可选地,基于所述第一处理结果在所述基础运行环境中生成所述深度学习模型的扩展功能,得到所述第二处理结果包括:基于所述第一处理结果,在所述多个处理环节中每个处理环节中添加除所述基础功能之外的所述扩展功能,确定每个处理环节对应的多种待选择功能;分别从每个处理环节对应的多种待选择功能中选取任一种功能进行组合并执行所述深度学习模型的整体生成过程,得到所述第二处理结果。
16.可选地,分别从每个处理环节对应的多种待选择功能中选取任一种功能进行组合并执行所述深度学习模型的整体生成过程,得到所述第二处理结果包括:在模型算法选择环节中随机选取待组合模型算法;在模型训练软硬件环境配置环节中随机确定第一待组合软硬件环境;在模型训练方式选择环节中随机选取待组合模型训练方式;在模型压缩方式选择环节中随机选取待组合模型压缩方式;在模型预测部署方式选择环节中随机选取待组合模型预测部署方式;在模型推理部署软硬件环境配置环节中随机确定第二待组合软硬件环境;对所述待组合模型算法、所述第一待组合软硬件环境、所述待组合模型训练方式、所述待组合模型压缩方式、所述待组合模型预测部署方式以及所述第二待组合软硬件环境进行组合并执行模型训练、训练以及推理整个生成过程,得到所述第二处理结果,直至每个处理环节对应的多种待选择功能中各种组合全部执行完毕。
17.可选地,利用所述预设测试脚本对所述第二处理结果进行功能测试,输出所述测试结果包括:利用所述预设测试脚本在所述深度学习模型的整体生成过程中设置至少一个
测试点位;基于所述至少一个测试点位对所述第二处理结果进行功能测试,输出所述测试结果。
18.可选地,所述第二处理结果包括:所述多个处理环节中每个处理环节对应的多种待选择功能中各种组合,基于所述至少一个测试点位对所述第二处理结果进行功能测试,输出所述测试结果包括:基于所述至少一个测试点位分别对每个处理环节对应的多种待选择功能中各种组合进行功能测试,输出所述测试结果。
19.可选地,所述测试结果包括:所述深度学习模型的标识信息;所述深度学习模型关联的软硬件配置信息;所述深度学习模型的属性测试信息;所述深度学习模型的预测结果信息。
20.根据本公开的另一方面,提供了一种基于深度学习框架生成和应用深度学习模型的装置,包括:构建模块,用于在目标设备上构建基础运行环境,所述基础运行环境为深度学习模型的整体生成过程提供环境准备;第一生成模块,用于按照业务需求和/或硬件需求,在所述基础运行环境中生成所述深度学习模型的基础功能,得到第一处理结果;第二生成模块,用于基于所述第一处理结果在所述基础运行环境中生成所述深度学习模型的扩展功能,得到第二处理结果;测试模块,用于利用预设测试脚本对所述第二处理结果进行功能测试,输出测试结果。
21.可选地,所述构建模块,用于获取所述目标设备的硬件配置信息;基于所述硬件配置信息,确定所述目标设备的软件配置信息;利用所述硬件配置信息和所述软件配置信息,构建所述基础运行环境。
22.可选地,所述构建模块,用于基于所述硬件配置信息,确定所述目标设备的操作系统信息、深度学习框架信息、模型库信息、预训练模型以及所述预训练模型对应的训练数据与预测数据。
23.可选地,所述第一生成模块,用于确定所述深度学习模型的整体生成过程中所包含的多个处理环节,所述多个处理环节用于开发、训练和推理所述深度学习模型;按照所述业务需求和/或所述硬件需求,在所述基础运行环境中生成所述多个处理环节中每个处理环节的基础功能,得到所述第一处理结果。
24.可选地,所述第一生成模块,用于按照所述业务需求在所述基础运行环境中生成所述多个处理环节中第一部分处理环节的基础功能,得到第三处理结果;按照所述硬件需求在所述基础运行环境中生成所述多个处理环节中第二部分处理环节的基础功能,得到第四处理结果;按照所述业务需求和所述硬件需求在所述基础运行环境中生成所述多个处理环节中第三部分处理环节的基础功能,得到第五处理结果;利用所述第三处理结果、所述第四处理结果和所述第五处理结果生成所述多个处理环节中每个处理环节的基础功能,得到所述第一处理结果。
25.可选地,所述第一生成模块,用于按照所述业务需求从模型库中选取在所述基础运行环境中待使用的模型算法;按照所述业务需求选取在所述基础运行环境中待使用的模型压缩方式;按照所述业务需求选取在所述基础运行环境中待使用的预测部署方式;将所述模型算法、所述模型压缩方式和所述预测部署方式确定为所述第三处理结果。
26.可选地,所述第一生成模块,用于按照所述硬件需求配置在所述基础运行环境中待使用的第一软硬件环境和第二软硬件环境,所述第一软硬件环境为模型训练所使用的软
硬件环境,所述第二软硬件环境为模型推理部署所使用的软硬件环境;将所述第一软硬件环境与所述第二软硬件环境确定为所述第四处理结果。
27.可选地,所述第一生成模块,用于按照所述业务需求和所述硬件需求选取在所述基础运行环境中待使用的模型训练方式;将所述模型训练方式确定为所述第五处理结果。
28.可选地,所述多个处理环节包括:模型算法选择环节;模型训练软硬件环境配置环节;模型训练方式选择环节;模型压缩方式选择环节;模型训练环节;模型保存环节;模型预测部署方式选择环节;模型推理部署软硬件环境配置环节。
29.可选地,所述第二生成模块,用于基于所述第一处理结果,在所述多个处理环节中每个处理环节中添加除所述基础功能之外的所述扩展功能,确定每个处理环节对应的多种待选择功能;分别从每个处理环节对应的多种待选择功能中选取任一种功能进行组合并执行所述深度学习模型的整体生成过程,得到所述第二处理结果。
30.可选地,所述第二生成模块,用于在模型算法选择环节中随机选取待组合模型算法;在模型训练软硬件环境配置环节中随机确定第一待组合软硬件环境;在模型训练方式选择环节中随机选取待组合模型训练方式;在模型压缩方式选择环节中随机选取待组合模型压缩方式;在模型预测部署方式选择环节中随机选取待组合模型预测部署方式;在模型推理部署软硬件环境配置环节中随机确定第二待组合软硬件环境;对所述待组合模型算法、所述第一待组合软硬件环境、所述待组合模型训练方式、所述待组合模型压缩方式、所述待组合模型预测部署方式以及所述第二待组合软硬件环境进行组合并执行模型训练、训练以及推理整个生成过程,得到所述第二处理结果,直至每个处理环节对应的多种待选择功能中各种组合全部执行完毕。
31.可选地,所述测试模块,用于利用所述预设测试脚本在所述深度学习模型的整体生成过程中设置至少一个测试点位;基于所述至少一个测试点位对所述第二处理结果进行功能测试,输出所述测试结果。
32.可选地,所述第二处理结果包括:所述多个处理环节中每个处理环节对应的多种待选择功能中各种组合,所述测试模块,用于基于所述至少一个测试点位分别对每个处理环节对应的多种待选择功能中各种组合进行功能测试,输出所述测试结果。
33.可选地,所述测试结果包括:所述深度学习模型的标识信息;所述深度学习模型关联的软硬件配置信息;所述深度学习模型的属性测试信息;所述深度学习模型的预测结果信息。
34.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一项所述的方法。
35.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述任一项所述的方法。
36.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述任一项所述的方法。
37.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
38.附图用于更好地理解本方案,不构成对本公开的限定。其中:
39.图1是根据本发明实施例1的基于深度学习框架生成和应用深度学习模型的方法的流程图;
40.图2是本发明可选实施方式提供的系统架构图;
41.图3是根据本发明实施例提供的基于深度学习框架生成和应用深度学习模型的装置的结构框图;
42.图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。
具体实施方式
43.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
44.本技术提供了如图1所示的基于深度学习框架生成和应用深度学习模型的方法。图1是根据本发明实施例1的生成深度学习模型的方法的流程图,如图1所示,该方法包括如下步骤:
45.步骤s101,在目标设备上构建基础运行环境,其中,基础运行环境为深度学习模型的整体生成过程提供环境准备;
46.步骤s102,按照业务需求和/或硬件需求,在基础运行环境中生成深度学习模型的基础功能,得到第一处理结果;
47.步骤s103,基于第一处理结果在基础运行环境中生成深度学习模型的扩展功能,得到第二处理结果;
48.步骤s104,利用预设测试脚本对第二处理结果进行功能测试,输出测试结果。
49.通过上述步骤,通过在目标设备上构建能够构建深度学习模型的整体生产过程的基础运行环境,按照业务需求和/或硬件需求,在基础运行环境中生成深度学习模型的基础功能,得到第一处理结果,并基于第一处理结果在基础运行环境中生成深度学习模型的扩展功能,得到第二处理结果,再利用预设测试脚本对第二处理结果进行功能测试,输出测试结果。因为运行环境中生成深度学习的基础功能是依据业务需求和/或硬件需求得到的,因此,能够符合实际场景与业务的需求。又基于第一处理结果在基础运行环境中生成深度学习模型的扩展功能,因此,能够根据第一处理结果,针对性地进行扩展功能的设置。最终,通过对第二处理结果进行测试,能够有效地验证模型的功能,进而解决了相关技术中存在的构建模型的环境与功能时,出现的无法对模型设计的整体流程进行设置的技术问题。其中,利用预设测试脚本对第二处理结果进行功能测试,输出测试结果用于保证模型设计的整体流程的可靠性。
50.作为一种可选的实施例,在目标设备上构建基础运行环境。其中,目标设备为能够构建运行环境,能够执行模型的构建、训练与验证的设备,例如,主机等,在此不做限定。基础运行环境为深度学习模型的整体生成过程提供环境准备的运行环境,即在开发前要做基础环境准备工作。依据实际业务与需求的不同,目标设备的硬件条件的不同,开发所构建的
基础运行环境也不尽相同。因此,在目标设备上构建基础运行环境时,可以先获取目标设备的硬件配置信息,基于该硬件配置信息,确定目标设备的软件配置信息。其中,通过硬件配置信息,能够确定出目标设备多种软件信息,例如:能够确定出目标设备的操作系统信息、深度学习框架信息、模型库信息、预训练模型以及预训练模型对应的训练数据与预测数据。进而利用硬件配置信息和软件配置信息,构建基础运行环境。通过硬件配置信息和软件配置信息构建的基础运行环境,保证了是适用于该目标设备的,能够保障后续开发的有序运行,解决了相关技术中实际业务环境硬件种类非常多,软件版本也非常多,难以在海量的信息中准确地配置出适用的运行环境的问题。
51.作为一种可选的实施例,按照业务需求和/或硬件需求,在基础运行环境中生成深度学习模型的基础功能,得到第一处理结果。通过业务需求和/或硬件需求确定基础功能,能够保证基础功能能够满足当前的业务需求,使得模型能够顺利、有序地运行。
52.作为一种可选的实施例,因为深度学习模型的整体生成过程中是包括多个处理环节的,例如,在整体生成过程中会包括模型算法选择环节,模型训练软硬件环境配置环节,模型训练方式选择环节,模型压缩方式选择环节,模型训练环节,模型保存环节,模型预测部署方式选择环节,模型推理部署软硬件环境配置环节等等。需要对上述多种环节进行相应的设置,以生成深度学习模型。上述多种处理环节可以用于开发深度学习模型、用于训练深度学习模型、用于推理深度学习模型。以实现模型开发、训练、推理、验证全流程。因此,在基础运行环境中生成深度学习模型的基础功能,得到第一处理结果时,可以先确定深度学习模型的整体生成过程中所包含的多个处理环节,按照业务需求和/或硬件需求,针对不同的处理环节进行基础功能的设计,在基础运行环境中生成多个处理环节中每个处理环节的基础功能,得到第一处理结果。以解决相关技术中存在的算法选型困难,且不能得到全流程支持等的问题。
53.作为一种可选的实施例,在按照业务需求和/或硬件需求,在基础运行环境中生成多个处理环节中每个处理环节的基础功能,得到第一处理结果中,包括了如下几个部分:按照业务需求在基础运行环境中生成多个处理环节中第一部分处理环节的基础功能,得到第三处理结果;按照硬件需求在基础运行环境中生成多个处理环节中第二部分处理环节的基础功能,得到第四处理结果;按照业务需求和硬件需求在基础运行环境中生成多个处理环节中第三部分处理环节的基础功能,得到第五处理结果。即根据业务需求、硬件需求、业务需求与硬件需求分别进行基础功能的设置,先分别得到对应的处理结果,再利用分别得到的处理结果,即第三处理结果、第四处理结果和第五处理结果生成多个处理环节中每个处理环节的基础功能,得到第一处理结果。通过对业务需求、硬件需求、业务需求与硬件需求分别进行相应的设置,能使得得到的第一处理结果更加适配,更适用于实际的场景与需求。下面对根据业务需求、硬件需求、业务需求与硬件需求分别进行基础功能的设置,先分别得到对应处理结果的过程进行详细介绍:
54.1)按照业务需求在基础运行环境中生成第一部分处理环节的基础功能,得到第三处理结果。其中,根据业务需求在基础运行环境中生成第一部分处理环节的基础功能可以包括:模型算法、模型压缩方式、预测部署方式,等等。即上述过程为按照业务需求从模型库中选取在基础运行环境中待使用的模型算法,按照业务需求选取在基础运行环境中待使用的模型压缩方式,按照业务需求选取在基础运行环境中待使用的预测部署方式。其中,依据
业务需求选取模型算法,解决了相关技术中,深度学习开源算法论文众多,如何找到并选出合适、可靠的算法非常困难的问题。依据业务需求选取模型压缩方式,其中,模型压缩方式可以采用slim技术,进行slim技术选型,以将较大的训练模型,通过压缩减小模型体积,以实现提升预测速度效果。依据业务需求预测部署方式,在实际部署时,可以先将模型保存成标准化的格式,例如,基础的inference模式,进而依据该格式进行转化,实现部署。以解决相关技术中预测部署涉及到各种部署方式的情况下,不能顺利部署的问题。
55.2)按照硬件需求在基础运行环境中生成多个处理环节中第二部分处理环节的基础功能,得到第四处理结果。其中,根据硬件需求在基础运行环境中生成第二部分处理环节的基础功能可以包括:软硬件环境等。其中,软硬件环境又分为不同情况下的软硬件环境,例如,模型训练所使用的软硬件环境、模型推理部署所使用的软硬件环境。需要对不同情况下的软硬件环境均进行配置。即上述过程为按照硬件需求配置在基础运行环境中待使用的第一软硬件环境和第二软硬件环境,其中,第一软硬件环境为模型训练所使用的软硬件环境,第二软硬件环境为模型推理部署所使用的软硬件环境。依据硬件需求确定软硬件环境,可以使得模型在该软硬件环境下,是可以使用的,即该目标设备是可以让模型在该软硬件环境下运行的。而且,因为硬件需求与软硬件环境适配,在保证模型正常运行的前提下,能够有效加快生成模型的速度,提高生成模型的效率。
56.3)按照业务需求和硬件需求在基础运行环境中生成多个处理环节中第三部分处理环节的基础功能,得到第五处理结果。其中,按照业务需求和硬件需求在基础运行环境中生成多个处理环节中第三部分处理环节的基础功能包括:模型的训练方式等。即通过按照业务需求和硬件需求选取在基础运行环境中待使用的模型训练方式。依据业务需求和硬件需求确定模型的训练方式,以解决相关技术中生成模型时支持不充分中的问题,比如训练部分涉及到分布式、混合精度的能力支持不充分的问题。
57.作为一种可选的实施例,基于第一处理结果在基础运行环境中生成深度学习模型的扩展功能,得到第二处理结果。能够在基础功能开发的基础上,配套补充关键环节,以实现全流程中,更全面、更完善的功能支持。在进行扩展功能的生成时,可以包括如下步骤:基于第一处理结果,在多个处理环节中每个处理环节中添加除基础功能之外的扩展功能,确定每个处理环节对应的多种待选择功能,分别从每个处理环节对应的多种待选择功能中选取任一种功能进行组合并执行深度学习模型的整体生成过程,得到第二处理结果。需要说明的是,在扩展多个处理环节中的功能时,可以根据相邻两两处理环节确定每个环节的不同情况,以针对不同的情况进行相应的设置,以保障处理环节中扩展的功能都是有效的,进而保证了生成的模型有效。通过该步骤,不仅能够扩展模型的功能,还能使得扩展模型的数量变得非常的容易,以便方便、快捷地生成多种能够实现实际业务需求的模型。
58.作为一种可选的实施例,分别从每个处理环节对应的多种待选择功能中选取任一种功能进行组合并执行深度学习模型的整体生成过程,得到第二处理结果包括多种,例如:在模型算法选择环节中随机选取待组合模型算法,在模型训练软硬件环境配置环节中随机确定第一待组合软硬件环境,在模型训练方式选择环节中随机选取待组合模型训练方式,在模型压缩方式选择环节中随机选取待组合模型压缩方式,在模型预测部署方式选择环节中随机选取待组合模型预测部署方式,在模型推理部署软硬件环境配置环节中随机确定第二待组合软硬件环境。进而对待组合模型算法、第一待组合软硬件环境、待组合模型训练方
式、待组合模型压缩方式、待组合模型预测部署方式以及第二待组合软硬件环境进行组合并执行模型训练、训练以及推理整个生成过程,得到第二处理结果,直至每个处理环节对应的多种待选择功能中各种组合全部执行完毕。大量扩展了模型的数量,可以针对可能的情况均进行验证,以便方便、快捷地生成确定出能够实现实际业务需求的模型。
59.作为一种可选的实施例,利用预设测试脚本对第二处理结果进行功能测试,输出测试结果。其中,测试结果包括深度学习模型的标识信息;深度学习模型关联的软硬件配置信息;深度学习模型的属性测试信息;深度学习模型的预测结果信息。例如,深度学习模型的标识信息可以包括所模型生成过程中所使用的软件版本号信息;软硬件配置信息可以包括模型训练所使用的软硬件配置信息,模型推理部署所使用的软硬件配置信息;属性测试信息可以包括模型训练过程中的速度、精度、损失值、耗时,模型的性能等信息;预测结果信息可以包括模型名称,预测数据等在内的预测结果。通过输出关于不同方面的测试结果,能够清楚、明了的了解到各方面的信息。通过利用预设测试脚本对第二处理结果进行功能测试,能够全方位的对模型进行评判,得到准确地、可信度高的测试结果。其中,预设测试脚本可以一键运行,可以自动化的运行。通过使用一键运行的预设测试脚本,可以将模型部署在各种复杂软硬件环境中,利用自动化预设测试脚本,可以快速启动模型全流程功能支持验证并输出测试结果,通过结果可以进一步确定各种环境下的可行性验证。而且,还可周期性的使用预设测试脚本进行测试,通过严格准入测试要求并且定期启动测试,确保模型的稳定可靠。
60.作为一种可选的实施例,利用预设测试脚本在深度学习模型的整体生成过程中设置至少一个测试点位,基于至少一个测试点位对第二处理结果进行功能测试,输出测试结果。即测试点位具有执行测试,得到测试结果的功能,例如,测试结果中包括深度学习模型的属性测试信息,耗时,的情况下。该耗时信息是可以通过设置测试点位得到的。例如,在模型生成的时候建立一个测试点位,在模型训练结束的时候建立一个测试点位,这两个测试点位分别记录当时的时间,将这两个测试点位做差,即可得到模型训练的耗时,以得到耗时这一测试结果。测试点位也可以根据具体的情况进行其他相应的设定,使得测试点位能够执行多种功能测试,得到多种对应的测试结果。通过设置测试点位,可以快速完成各种场景下的从训练和部署的完整流程,保证模型能顺利完成开发、训练、推理全流程功能。
61.需要说明的是,多个处理环节中每个处理环节对应的多种待选择功能中各种组合,基于至少一个测试点位对第二处理结果进行功能测试时,输出的测试结果还包括了基于至少一个测试点位分别对每个处理环节对应的多种待选择功能中各种组合进行功能测试,输出的测试结果。
62.基于上述实施例及可选实施例,提供一种可选实施方式,下面具体说明。
63.本发明可选实施方式中,提供了一种基于深度学习框架支持模型开发、训练、推理全流程的方案,并配置了相应的系统,系统中包含了完整的代码、文档、配套工具和规范,保证了深度学习框架对于深度学习模型开发、训练、推理全流程的支持。
64.图2是本发明可选实施方式提供的系统架构图,如图2所示,包含了从丰富的产业级模型库中进行模型选型、训练软硬件环境选型、模型训练、slim技术选型、模型保存、预测部署方式以及部署软硬件环境选型等步骤。如图2所示的系统,通过上述步骤,覆盖了深度学习模型开发、训练、推理全流程功能支持。
65.其中,软硬件环境包括linux、windows、macos下gpu、cpu、npu、dcu、xpu等环境;模型训练包括分布式训练、混合精度训练等训练方式;预测部署方式包括inference、serving、lite、js(javascript)等部署方式;部署软硬件环境包括linux、windows、macos下gpu、cpu、npu、dcu、xpu、arm、web等环境。slim技术选型主要指的是模型压缩(包括裁剪、量化),主要是一般训练的模型比较大,通过压缩减小模型体积,提升预测速度。
66.下面对本发明可选实施方式进行详细说明。
67.(一)基础环境准备:
68.主要是开发前基础环境准备,其中,准备阶段包括:硬件设备的准备,基础操作系统的安装,深度学习框架的安装,准备编译或者编译好的第三方库等,并进行预训练模型下载与解压,以及基础训练、预测数据下载并解压。
69.(二)基础功能开发:
70.s1,各部分单独模型的开发。
71.1)模型选择:从产业级模型库中选择合适的模型算法,其中,模型算法可以由用户自身经验进行选择,也可以由用户在产业级模型库推荐的算法中选取。
72.2)训练软硬件环境选择:根据实际情况,即实际应用时的软硬件条件,选择合适的软硬件环境。
73.3)模型训练阶段:根据软硬件环境和实际业务需求,选择模型训练方式。
74.4)模型压缩技术选型:根据实际业务需求中对于模型大小和速度的需求,选择合适的模型技术。
75.s2,完成模型开发流程,启动模型训练。
76.s3,模型保存:将训练好的模型保存成基础的inference模式。
77.s4,进行部署方面的处理。
78.1)预测部署选型:根据实际的业务需求,选择合适的预测部署方式
79.2)推理部署软硬件环境选型:根据实际情况,即实际应用时的软硬件条件,选择合适的软硬件环境。
80.(三)支持功能开发:
81.在基础功能开发的基础上,配套补充关键环节,走通全流程,实现全流程功能支持。
82.s1,在(一)的标准环境下,选择一个模型,连接(二)的各个步骤,在每个环节一种选择的前提下,单一线条走通全流程。
83.其中,标准环境指的是于实际情况,确定的一套环境,在后面的步骤中就不再变化。
84.s2,扩展分步骤的多种选择,相邻两两组合确定每个环节的不同情况,保证每个环节的多个选择与下一个阶段的各个组合的功能均能够有效执行。
85.s3,从开发、训练到推理的全流程,保证上图整个框图的有效性。
86.s4,扩展模型数量,最终打通全部模型的全流程。
87.(四)全流程报告输出:
88.主要是(二),(三)的关键流程报告输出,其中,输出的内容包括:
89.1)开发的自动化测试的脚本;
90.2)利用自动化在训练和推理代码中需要指标输出的位置加入少量测试点,使得测试点能够得到包含关键打印信息的多种信息;
91.3)启动自动化测试脚本,输出测试报告结果,其中,测试报告结果中的内容包含但不限于训练相关速度、loss、精度、耗时,预测相关软件版本号、硬件、配置信息,模型名称、训练模型时的数据集信息,性能信息(例如,耗费显存资源信息),耗时以及预测结果等信息。
92.通过上述可选实施方式,可以达到以下有益效果:
93.(1)本发明可选实施方式提供的方法及系统可以广泛应用在各类开源项目中开发过程,提供从训练到推理的全流程功能支持。
94.(2)本发明可选实施方式提供的方法及系统可以广泛应用于企业内部的代码维护管理流程中,降低企业线上问题风险。
95.(3)本发明可选实施方式提供的方法及系统使用系统预置的算法,可以更好的应用于产业实践,企业开发者在实际项目中使用本系统中沉淀的模型算法,以及从开发、训练到推理的全流程功能支持,可以提升开发效率超过50%。
96.(4)使用本发明可选实施方式提供的方法及系统,能够对企业本身的深度学习开发流程进行质量管控,可以有效降低过程中的兼容性问题、适配性问题,测试一次性通过率提升20%。
97.(5)使用本发明可选实施方式提供的方法及系统,能够一键运行自动化测试脚本,可以快速验证模型在新的软硬件环境的适配能力,可以应用在各种企业集采招标测评过程中,通过自动化脚本验证软硬件环境的符合率,降低验证成本30%
98.(6)本发明可选实施方式提供的方法及系统提供的规范、工具,可以逐渐推广为相关领域的团标和行标,提升整个相关行业基于深度学习框架开发训练、推理全流程的标准化程度。
99.根据本发明实施例,还提供了一种基于深度学习框架生成和应用深度学习模型的装置,图3是根据本发明实施例提供的基于深度学习框架生成和应用深度学习模型的装置的结构框图,如图3所示,该装置包括:构建模块301,第一生成模块302,第二生成模块303和测试模块304,下面对该装置进行说明。
100.构建模块301,用于在目标设备上构建基础运行环境,其中,基础运行环境为深度学习模型的整体生成过程提供环境准备;第一生成模块302,连接于上述构建模块301,用于按照业务需求和/或硬件需求,在基础运行环境中生成深度学习模型的基础功能,得到第一处理结果;第二生成模块303,连接于上述第一生成模块302,用于基于第一处理结果在基础运行环境中生成深度学习模型的扩展功能,得到第二处理结果;测试模块304,连接于上述第二生成模块303,用于利用预设测试脚本对第二处理结果进行功能测试,输出测试结果。
101.此处需要说明的是,上述构建模块301,第一生成模块302,第二生成模块303和测试模块304,对应于实施例1中的步骤s101至步骤s104,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
102.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
103.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种
计算机程序产品。
104.图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
105.如图4所示,设备400包括计算单元401,其可以根据存储在只读存储器(rom)402中的计算机程序或者从存储单元408加载到随机访问存储器(ram)403中的计算机程序,来执行各种适当的动作和处理。在ram 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、rom 402以及ram 403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
106.设备400中的多个部件连接至i/o接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
107.计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如基于深度学习框架生成和应用深度学习模型的方法。例如,在一些实施例中,基于深度学习框架生成和应用深度学习模型的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由rom 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到ram 403并由计算单元401执行时,可以执行上文描述的基于深度学习框架生成和应用深度学习模型的方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于深度学习框架生成和应用深度学习模型的方法。
108.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
109.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
110.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
111.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
112.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
113.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
114.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
115.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。