Tensorflow权重文件怎么理解,有哪些要点
Admin 2022-07-29 群英技术资讯 870 次浏览
1.解读tensorflow权重文件,透过 tf.train.NewCheckpointReader函数。
2.reader.get_variable_to_shape_map()可以得到权重文件里面的tensor名称。
3.reader.get_tensor(key) 可以得到对应tensor的权重值。
import tensorflow as tf cpktFileName = r'.\models\resnet_v2_152.ckpt' reader = tf.train.NewCheckpointReader(cpktFileName) for key in sorted(reader.get_variable_to_shape_map()): if key.endswith('weights') or key.endswith('biases'): keySplits = key.split(r'/') print(key) print(reader.get_tensor(key))
第一,每个tensor name都以resnet_v2_152开头
第二,tensor name第二段为block,共有四个block。与网络架构有关。
第三,第三字段为unit,每个block里面unit数量不同。与网络架构有关。
第四,除了组后的平坦层,第四字段都为bottleneck_v2
第五,第五字段为‘conv1',‘conv2',‘conv3',‘shortcut'
第六,第六字段为‘weights' or ‘biases'
补充:tensorflow模型的调用,权重查看
以vc版本的tensorpack说明
每次运行,会有checkpoint、graph、model生成
1、其中,若文件夹已经有checkpoint,且写有自动掉用上次模型,可以在上次的基础上继续训练,否则重新生成,且不能调用之前的模型,即使已经存在
2、每次运行会重新生成graph,即使上次的已经存在,因此调用上次模型与文件夹中是否有graph无关
import numpy as np import tensorflow as tf import sys model = sys.argv[1] tensor = sys.argv[2] reader = tf.train.NewCheckpointReader(model) all_variables = reader.get_variable_to_shape_map() #reader = pywrap_tensorflow.NewCheckpointReader(ckpt_path) #param_dict = reader.get_variable_to_shape_map() for key, val in all_variables.items(): try: print key, val #key是网络参数名,val是维度 except: pass w0 = reader.get_tensor(tensor) np.save('con1d_w.npy',w0) print(type(w0)) print(w0.shape) print(w0[0])
chekpoint―记录了保存的最新的checkpoint文件以及其它checkpoint文件列表。在inference时,可以通过修改这个文件,指定使用哪个model
MyModel.meta文件保存的是图结构,meta文件是pb(protocol buffer)格式文件,包含变量、op、集合等。
ckpt文件是二进制文件,保存了所有的weights、biases、gradients等变量。在tensorflow 0.11之前,保存在.ckpt文件中。0.11后,通过两个文件保存,如:
MyModel.data-00000-of-00001 MyModel.index
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了Python中字典有关的常见函数的使用方法,以及字典遍历的方法。文中通过示例代码为我们进行了详细介绍,对学习Python字典有一定帮助,需要的可以参考一下
这篇文章主要为大家介绍了新一代爬虫利器Playwright,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
这篇文章主要介绍了Python登录系统界面实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
python 生成对称矩阵的方法是什么?我们做开发的时候,常会遇到根据一段给定的数组,生成由这一段数组值构成的对称矩阵,这样的需求,那么使用python要怎么实现生成对称矩阵呢?下面我们一起来看看。
内容介绍一、用户输入1.输入字符串2.使用函数int()获取数值输入3.求模运算符的应用二、while循环1.简单的while循环2.通过用户输入退出while循环3.使用标志4.使用break退出循
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008