基于tensorflow权重文件的解读


Posted in Python onMay 26, 2021

1.解读tensorflow权重文件,透过 tf.train.NewCheckpointReader函数。

2.reader.get_variable_to_shape_map()可以得到权重文件里面的tensor名称。

3.reader.get_tensor(key) 可以得到对应tensor的权重值。

基于tensorflow权重文件的解读

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))

resnet_v2_152权重 tensor name解读

第一,每个tensor name都以resnet_v2_152开头

第二,tensor name第二段为block,共有四个block。与网络架构有关。

第三,第三字段为unit,每个block里面unit数量不同。与网络架构有关。

第四,除了组后的平坦层,第四字段都为bottleneck_v2

第五,第五字段为‘conv1',‘conv2',‘conv3',‘shortcut'

第六,第六字段为‘weights' or ‘biases'

基于tensorflow权重文件的解读

补充: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

基于tensorflow权重文件的解读

MyModel.meta文件保存的是图结构,meta文件是pb(protocol buffer)格式文件,包含变量、op、集合等。

ckpt文件是二进制文件,保存了所有的weights、biases、gradients等变量。在tensorflow 0.11之前,保存在.ckpt文件中。0.11后,通过两个文件保存,如:

MyModel.data-00000-of-00001
MyModel.index

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用nntp读取新闻组内容的方法
May 08 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
Oct 12 Python
Python制作简易注册登录系统
Dec 15 Python
Python实现多进程共享数据的方法分析
Dec 04 Python
python实现二叉树的遍历
Dec 11 Python
python实现微信跳一跳辅助工具步骤详解
Jan 04 Python
Django中的forms组件实例详解
Nov 08 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
Nov 29 Python
python实现五子棋小游戏
Mar 25 Python
python不同版本的_new_不同点总结
Dec 09 Python
matplotlib制作雷达图报错ValueError的实现
Jan 05 Python
解决python的空格和tab混淆而报错的问题
Feb 26 Python
解决Python字典查找报Keyerror的问题
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
tensorflow中的数据类型dtype用法说明
May 26 #Python
详解Python魔法方法之描述符类
May 26 #Python
使用tensorflow 实现反向传播求导
python基础学习之递归函数知识总结
TensorFlow的自动求导原理分析
You might like
phpinfo 系统查看参数函数代码
2009/06/05 PHP
php调用mysql数据 dbclass类
2011/05/07 PHP
谨慎使用PHP的引用原因分析
2012/09/06 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
Python heapq使用详解及实例代码
2017/01/25 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
对python多线程SSH登录并发脚本详解
2019/02/14 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2020/02/03 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
编程输出如下图形
2013/11/24 面试题
手术室护士自我鉴定
2013/10/14 职场文书
在职研究生自我鉴定
2013/10/16 职场文书
女大学生个人求职信
2013/12/09 职场文书
学校安全生产月活动总结
2014/07/05 职场文书
六一儿童节开幕词
2015/01/29 职场文书
花田少年史观后感
2015/06/16 职场文书
拿破仑传读书笔记
2015/07/01 职场文书