适用于关系型数据库内深度学习模型的存储方法和装置
- 国知局
- 2024-08-08 16:58:35
本发明涉及数据库和人工智能结合领域的一种适用于数据库内深度学习模型的存储方法,特别涉及了一种适用于关系型数据库内深度学习模型的存储方法。
背景技术:
1、近年来,工业界在数据库内推理方面取得了显著进步,不少数据库内推理框架被推出,对于模型的存储普遍将整个模型存储到数据库中,或将模型在文件系统中的路径保存在数据库中,这导致了空间的严重浪费,对于深度学习模型来说大部分模型都是在一些开源的效果较好的基础模型基础上重新训练,比如resnet、vgg、alexnet等,数据库内推理框架亟待一种使用更少存储资源的模型存储解决方案。
2、现有的实现库内模型的压缩存储方式是直接对深度学习模型进行量化压缩,压缩完后模型各层的参数会有精度上的损失,这将导致模型的效果会受到较大的影响。
技术实现思路
1、为了解决背景技术中的问题和需求,本发明的目的在于提供了一种适用于关系型数据库内深度学习模型的存储方法,为数据库内存储模型提供一种节省存储空间的解决方案。
2、本发明的技术方案如下:
3、一、一种适用于关系型数据库内深度学习模型的存储方法
4、改造或创建关系型数据库内的深度学习模型时,根据输入的sql语句获取导入模型,结合深度学习框架提取导入模型的层结构与层名称,基于导入模型的层名称抽取层参数并转换后保存至数据库内;
5、加载关系型数据库内的深度学习模型时,根据输入的sql语句获取模型名,将数据库内该模型名中的各层参数转换后复原至深度学习框架中,直至实现该模型的加载。
6、所述改造或创建关系型数据库内的深度学习模型时,根据输入的sql语句获取导入模型,结合深度学习框架提取导入模型的层结构与层名称,包括:
7、根据输入的sql语句获取导入模型的基础模型名,如果数据库内存在该基础模型,则通过深度学习框架加载该基础模型后,获得该基础模型的层结构与层名称,以及通过深度学习框架加载该导入模型后,获得该导入模型的层结构与层名称;若该基础模型的层结构与层名称和该导入模型的层结构与层名称匹配,则基于该基础模型的层名称抽取层参数,若不匹配,则基于导入模型的层名称抽取层参数。
8、对于全连接层,其可以在层名称匹配但是层结构不匹配时,直接根据层名称抽取层参数;
9、所述改造或创建关系型数据库内的深度学习模型时,根据输入的sql语句获取改造或创建模型在文件系统上的路径,判断该路径上的模型文件是否存在,如果不存在则返回路径错误提示。
10、当所述该基础模型的层结构与层名称和该导入模型的层结构与层名称不匹配时,还返回基础模型不存在的提示。
11、所述基于导入模型的层名称抽取层参数并转换后保存至数据库内,包括:
12、按照导入模型的层名称依次抽取层参数并将张量数据类型的层参数转换为数据库内的向量数据类型,再将模型名、层名称和对应的转换后的层参数均插入到数据库内的模型参数表中。
13、所述加载关系型数据库内的深度学习模型时,根据输入的sql语句获取模型名,将数据库内该模型名中的各层参数转换后复原至深度学习框架中,直至实现该模型的加载,包括:
14、根据输入的sql语句中的模型名查找模型参数表中的基础模型并加载,获取基础模型中每一层名称,根据每一层名称及模型名在模型参数表中查找该层的向量参数,再将向量参数转换为深度学习框架的张量数据类型并设置回模型对应的层中,遍历处理基础模型中的各层,直至将所有层参数复原至基础模型中。
15、二、一种适用于关系型数据库内深度学习模型的存储装置
16、改造或创建关系型数据库内的深度学习模型模块,用于根据输入的sql语句获取导入模型,结合深度学习框架提取导入模型的层结构与层名称,基于导入模型的层名称抽取层参数并转换后保存至数据库内;
17、加载关系型数据库内的深度学习模型模块,用于根据输入的sql语句获取模型名,将数据库内该模型名中的各层参数转换后复原至深度学习框架中,直至实现该模型的加载。
18、三、一种计算机设备
19、所述设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述方法的步骤。
20、四、一种计算机可读存储介质
21、其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。
22、五、一种计算机程序产品
23、所述产品包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述方法的步骤。
24、本发明有益效果如下:
25、本发明通过模型结构与参数的分离存储,模型结构使用复用的基础模型结构,只需存储参数即可实现对模型的存储,实现了深度学习模型在数据库内的压缩存储;
26、本发明将深度学习模型使用时的参数合并,在使用时先加载基础模型,再将各层参数设置回基础模型中,大大减少了模型在数据库中的使用的存储资源。
技术特征:1.一种适用于关系型数据库内深度学习模型的存储方法,其特征在于,包括:
2.根据权利要求1所述的一种适用于关系型数据库内深度学习模型的存储方法,其特征在于,所述改造或创建关系型数据库内的深度学习模型时,根据输入的sql语句获取导入模型,结合深度学习框架提取导入模型的层结构与层名称,包括:
3.根据权利要求1所述的一种适用于关系型数据库内深度学习模型的存储方法,其特征在于,所述改造或创建关系型数据库内的深度学习模型时,根据输入的sql语句获取改造或创建模型在文件系统上的路径,判断该路径上的模型文件是否存在,如果不存在则返回路径错误提示。
4.根据权利要求1所述的一种适用于关系型数据库内深度学习模型的存储方法,其特征在于,当所述该基础模型的层结构与层名称和该导入模型的层结构与层名称不匹配时,还返回基础模型不存在的提示。
5.根据权利要求1所述的一种适用于关系型数据库内深度学习模型的存储方法,其特征在于,所述基于导入模型的层名称抽取层参数并转换后保存至数据库内,包括:
6.根据权利要求1所述的一种适用于关系型数据库内深度学习模型的存储方法,其特征在于,所述加载关系型数据库内的深度学习模型时,根据输入的sql语句获取模型名,将数据库内该模型名中的各层参数转换后复原至深度学习框架中,直至实现该模型的加载,包括:
7.一种适用于关系型数据库内深度学习模型的存储装置,其特征在于,包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
技术总结本发明公开了一种适用于关系型数据库内深度学习模型的存储方法和装置。本发明基于关系型数据库向量存储技术和深度学习框架,是一种能够在导入模型时在数据库中存储模型参数、使用模型时合并数据库中模型参数的方法。该方法内置多种基础模型。当导入新模型时可以指定基础模型,读取模型并将模型层名与模型参数保存到模型参数表中;在使用模型时会根据模型参数表获取模型的基础模型信息,加载基础模型并读取模型参数表中记录的层名与各层参数,将各层参数设置回基础模型中即可还原模型。本发明对于一个基于基础模型的新模型只需要记录各层参数即可,无需存储模型结构信息,这种数据库内模型存储方法能显著减少模型在数据库内所占据的存储容量。技术研发人员:来晖航,葛恩泉,倪滢春,伍赛受保护的技术使用者:浙江大学计算机创新技术研究院技术研发日:技术公布日:2024/8/5本文地址:https://www.jishuxx.com/zhuanli/20240808/271574.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。