小编给大家分享一下解读Tensorflow权重文件的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!解读tensorflow权重文件,透过 tf.train.N
小编给大家分享一下解读Tensorflow权重文件的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
解读tensorflow权重文件,透过 tf.train.NewCheckpointReader函数。
reader.get_variable_to_shape_map()可以得到权重文件里面的tensor名称。
reader.get_tensor(key) 可以得到对应tensor的权重值。
import tensorflow as tfcpktFileName = 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生成
其中,若文件夹已经有checkpoint,且写有自动掉用上次模型,可以在上次的基础上继续训练,否则重新生成,且不能调用之前的模型,即使已经存在
每次运行会重新生成graph,即使上次的已经存在,因此调用上次模型与文件夹中是否有graph无关
import numpy as npimport tensorflow as tfimport sysmodel = 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: passw0 = 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-00001MyModel.index
以上是“解读tensorflow权重文件的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!
--结束END--
本文标题: 解读tensorflow权重文件的方法
本文链接: https://lsjlt.com/news/278206.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0