Tensorflow 读取ckpt文件中的tensor操作

在使用pre-train model时候,我们需要restore variables from checkpoint files.

经常出现在checkpoint 中找不到”Tensor name not found”.

这时候需要查看一下ckpt中到底有哪些变量

import os
from tensorflow.python import pywrap_tensorflow

checkpoint_path = os.path.join(model_dir, "model.ckpt")
# Read data from checkpoint file
reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path)
var_to_shape_map = reader.get_variable_to_shape_map()
# Print tensor name and values
for key in var_to_shape_map:
  print("tensor_name: ", key)
  print(reader.get_tensor(key))

可以显示ckpt中的tensor名字和值,当然也可以用pycharm调试。

补充:tensorflow中读取模型中保存的值, tf.train.NewCheckpointReader

使用tf.trian.NewCheckpointReader(model_dir)

一个标准的模型文件有一下文件, model_dir就是MyModel(没有后缀)

checkpoint
Model.meta
Model.data-00000-of-00001
Model.index
import tensorflow as tf
import pprint # 使用pprint 提高打印的可读性
NewCheck =tf.train.NewCheckpointReader("model")

打印模型中的所有变量

print("debug_string:\n")
pprint.pprint(NewCheck.debug_string().decode("utf-8"))

其中有3个字段, 分别是名字, 数据类型, shape

获取变量中的值

print("get_tensor:\n")
pprint.pprint(NewCheck.get_tensor("D/conv2d/bias"))

print("get_variable_to_dtype_map\n")
pprint.pprint(NewCheck.get_variable_to_dtype_map())
print("get_variable_to_shape_map\n")
pprint.pprint(NewCheck.get_variable_to_shape_map())

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • TensorFlow高效读取数据的方法示例

    概述 最新上传的mcnn中有完整的数据读写示例,可以参考. 关于Tensorflow读取数据,官网给出了三种方法: 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据. 从文件读取数据: 在TensorFlow图的起始, 让一个输入管线从文件中读取数据. 预加载数据: 在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况). 对于数据量较小而言,可能一般选择直接将数据加载进内存,然后再分batch输入网络进行训练(t

  • tensorflow TFRecords文件的生成和读取的方法

    TensorFlow提供了TFRecords的格式来统一存储数据,理论上,TFRecords可以存储任何形式的数据. TFRecords文件中的数据都是通过tf.train.Example Protocol Buffer的格式存储的.以下的代码给出了tf.train.Example的定义. message Example { Features features = 1; }; message Features { map<string, Feature> feature = 1; }; mes

  • TensorFlow打印输出tensor的值

    在学习TensorFlow的过程中,我们需要知道某个tensor的值是什么,这个很重要,尤其是在debug的时候.也许你会说,这个很容易啊,直接print就可以了.其实不然,print只能打印输出shape的信息,而要打印输出tensor的值,需要借助class tf.Session, class tf.InteractiveSession.因为我们在建立graph的时候,只建立tensor的结构形状信息,并没有执行数据的操作. 一 class tf.Session  运行tensorflow操

  • 初探TensorFLow从文件读取图片的四种方式

    本文记录一下TensorFLow的几种图片读取方法,官方文档有较为全面的介绍. 1.使用gfile读图片,decode输出是Tensor,eval后是ndarray import matplotlib.pyplot as plt import tensorflow as tf import numpy as np print(tf.__version__) image_raw = tf.gfile.FastGFile('test/a.jpg','rb').read() #bytes img =

  • Tensorflow 读取ckpt文件中的tensor操作

    在使用pre-train model时候,我们需要restore variables from checkpoint files. 经常出现在checkpoint 中找不到"Tensor name not found". 这时候需要查看一下ckpt中到底有哪些变量 import os from tensorflow.python import pywrap_tensorflow checkpoint_path = os.path.join(model_dir, "model.

  • python实现读取excel文件中所有sheet操作示例

    本文实例讲述了python实现读取excel文件中所有sheet操作.分享给大家供大家参考,具体如下: 表格是这样的 实现把此文件所有sheet中 标识为1 的行,取出来,存入一个字典.所有行组成一个列表. # -*- coding: utf-8 -*- from openpyxl import load_workbook def get_data_from_excel(excel_dir):#读取excel,取出所有sheet要执行的接口信息,返回列表 work_book = load_wor

  • tensorflow实现从.ckpt文件中读取任意变量

    思路有些混乱,希望大家能理解我的意思. 看了faster rcnn的tensorflow代码,关于fix_variables的作用我不是很明白,所以写了以下代码,读取了预训练模型vgg16得fc6和fc7的参数,以及faster rcnn中heat_to_tail中的fc6和fc7,将它们做了对比,发现结果不一样,说明vgg16的fc6和fc7只是初始化了faster rcnn中heat_to_tail中的fc6和fc7,之后后者被训练. 具体读取任意变量的代码如下: import tensor

  • Tensorflow: 从checkpoint文件中读取tensor方式

    在使用pre-train model时候,我们需要restore variables from checkpoint files. 经常出现在checkpoint 中找不到"Tensor name not found". 这时候需要查看一下ckpt中到底有哪些变量 import os from tensorflow.python import pywrap_tensorflow checkpoint_path = os.path.join(model_dir, "model.

  • Python实现读取txt文件中的数据并绘制出图形操作示例

    本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作.分享给大家供大家参考,具体如下: 下面的是某一文本文件中的数据. 6.1101,17.592 5.5277,9.1302 8.5186,13.662 7.0032,11.854 5.8598,6.8233 8.3829,11.886 7.4764,4.3483 8.5781,12 6.4862,6.5987 5.0546,3.8166 5.7107,3.2522 14.164,15.505 5.734,3.1551 8.408

  • TensorFlow:将ckpt文件固化成pb文件教程

    本文是将yolo3目标检测框架训练出来的ckpt文件固化成pb文件,主要利用了GitHub上的该项目. 为什么要最终生成pb文件呢?简单来说就是直接通过tf.saver保存行程的ckpt文件其变量数据和图是分开的.我们知道TensorFlow是先画图,然后通过placeholde往图里面喂数据.这种解耦形式存在的方法对以后的迁移学习以及对程序进行微小的改动提供了极大的便利性.但是对于训练好,以后不再改变的话这种存在就不再需要.一方面,ckpt文件储存的数据都是变量,既然我们不再改动,就应当让其变

  • python3 循环读取excel文件并写入json操作

    文件内容: excel内容: 代码: import xlrd import json import operator def read_xlsx(filename): # 打开excel文件 data1 = xlrd.open_workbook(filename) # 读取第一个工作表 table = data1.sheets()[0] # 统计行数 n_rows = table.nrows data = [] # 微信文章属性:wechat_name wechat_id title abstr

  • java使用GeoTools读取shp文件并画图的操作代码

    GeoTools是ArcGis地图与java对象的桥梁,恰如jdbc之于oracle与java. shp文件本身是存有地理对象边界坐标.对象中心城市及城市编号的多多边形字符串. 需要使用的依赖如下 <!-- 添加GeoTools依赖 --> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-shapefile</artifactId> <version>

  • 使用BufferedReader读取TXT文件中数值,并输出最大值

    目录 BufferedReader读取TXT文件中数值输出最大值 1.题目 2.BufferedReader 介绍 3.思路 4.问题 5.解决 6.小结一下 使用BufferedReader读取文件的好处 BufferedReader读取TXT文件中数值输出最大值 1.题目 txt文件中数字的读取,并输出最大值 输出最大值92 2.BufferedReader 介绍 BufferedReader 是缓冲字符输入流.它继承于Reader. BufferedReader 的作用是为其他字符输入流添

  • Python读取excel文件中的数据,绘制折线图及散点图

    目录 一.导包 二.绘制简单折线 三.pandas操作Excel的行列 四.pandas处理Excel数据成为字典 五.绘制简单折线图 六.绘制简单散点图 一.导包 import pandas as pd import matplotlib.pyplot as plt 二.绘制简单折线 数据:有一个Excel文件lemon.xlsx,有两个表单,表单名分别为:Python 以及student. Python的表单数据如下所示: student的表单数据如下所示:  1.在利用pandas模块进行

随机推荐