[发明专利]模型转换系统和模型转换方法在审

专利信息
申请号: 202210510515.0 申请日: 2022-05-11
公开(公告)号: CN115034401A 公开(公告)日: 2022-09-09
发明(设计)人: 陈元丰;谢翔;晏意林;黄高峰;肖继清;李升林;孙立林 申请(专利权)人: 上海阵方科技有限公司
主分类号: G06N20/00 分类号: G06N20/00;G06F40/151;G06F21/62;G06F8/51
代理公司: 深圳市中科创为专利代理有限公司 44384 代理人: 谭雪婷;彭涛
地址: 200030 上海市*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 模型 转换 系统 方法
【权利要求书】:

1.一种基于TensorFlow和Rosetta的模型转换系统,其特征在于,包括:

Loader模块:用于加载TensorFlow明文模型,依次把TensorFlow明文模型中每个变量数据分别保存为独立的文件,以及将TensorFlow明文模型的变量元数据信息保存为另外一个独立的文件;

Generator模块:用于根据TensorFlow明文模型加载前的网络拓扑结构生成新的网络拓扑结构代码,并生成目标明文模型,其中,生成新的网络拓扑结构代码所使用的TensorFlow APIs都是由Rosetta可适配的APIs组成;

Saver模块:用于加载目标明文模型,并根据变量元数据信息把Loader模块中保存的变量数据分别赋值给目标明文模型,然后保存目标明文模型为新的明文模型文件,这个新的明文模型文件可在Rosetta中加载并使用。

2.根据权利要求1所述的模型转换系统,其特征在于:所述变量元数据信息包含:变量名称、变量Shape Info、变量Tensor value对应的文件名。

3.一种基于TensorFlow和Rosetta的模型转换方法,其特征在于:包括如下步骤:

步骤S1:使用Loader模块加载TensorFlow明文模型,依次把TensorFlow明文模型中每个变量数据保存为独立的文件,以及将TensorFlow明文模型的变量元数据信息保存为另外一个独立的文件;

步骤S2:Generator模块根据TensorFlow明文模型加载前的网络拓扑结构生成新的网络拓扑结构代码,并生成目标明文模型,其中,生成新的网络拓扑结构代码所使用的TensorFlow APIs都是由Rosetta可适配的APIs组成;

步骤S3:Saver模块加载目标明文模型,并根据变量元数据信息把Loader模块中保存的变量数据分别赋值给目标明文模型,然后保存目标明文模型为新的明文模型文件,这个新的明文模型文件可在Rosetta中加载并使用。

4.根据权利要求3所述的模型转换方法,其特征在于:步骤S1之前,先将需要加载的.h5模型文件转换为TensorFlow checkpoint文件,并且,步骤S1中,是加载转换为TensorFlowcheckpoint文件的TensorFlow明文模型。

5.根据权利要求4所述的模型转换方法,其特征在于:步骤S1中,是依次对每个变量的权重数据都分别保存为一个独立的文件。

6.根据权利要求5所述的模型转换方法,其特征在于:步骤S1中,使用TensorFlow APItf.train.Saver().restore函数加载TensorFlow明文模型,加载完后,把TensorFlow明文模型中的变量元数据信息枚举出来并保存;其中,变量元数据信息包含:变量名称、变量Shape Info、变量Tensor value对应的文件名。

7.根据权利要求6所述的模型转换方法,其特征在于:步骤S2中,Generator模块是根据.h5模型文件中的网络拓扑结构,使用Rosetta可适配的APIs生成跟原来.h5模型一致的新的网络拓扑结构代码,并根据新的网络拓扑结构代码生成目标明文模型。

8.根据权利要求7所述的模型转换方法,其特征在于:步骤S3中,在加载目标明文模型后,先初始化目标明文模型的变量为0并保存,并获取步骤S1中保存的变量元数据信息,根据变量元数据信息从之前保存的文件中查找该变量的变量数据,并分别赋值给目标明文模型,然后保存目标明文模型为新的明文模型文件。

9.根据权利要求8所述的模型转换方法,其特征在于:根据变量元数据信息从之前保存的文件中查找该变量的变量数据,并分别赋值给目标明文模型时,是按照每一层的变量名称、相同变量的维度、网络层次是否一致进行匹配赋值。

10.根据权利要求8所述的模型转换方法,其特征在于:在分别赋值变量数据给目标明文模型时,是加载变量数据文件来更新目标明文模型对应的变量值,其具体是根据该变量的元数据信息找到保存此变量的Tensor value数据文件,然后加载该数据文件内容到numpy array中,再使用tf.assign把numpy array中的数据assign给新的变量,完成模型变量数据的更新。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海阵方科技有限公司,未经上海阵方科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210510515.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top