TensorFlow实现打印每一层的输出


Posted in Python onJanuary 21, 2020

在test.py中可以通过如下代码直接生成带weight的pb文件,也可以通过tf官方的freeze_graph.py将ckpt转为pb文件。

constant_graph = graph_util.convert_variables_to_constants(sess, sess.graph_def,['net_loss/inference/encode/conv_output/conv_output'])
with tf.gfile.FastGFile('net_model.pb', mode='wb') as f:
  f.write(constant_graph.SerializeToString())

tf1.0中通过带weight的pb文件与get_tensor_by_name函数可以获取每一层的输出

import os
import os.path as ops
import argparse
import time
import math
 
import tensorflow as tf
import glob
import numpy as np
import matplotlib.pyplot as plt
import cv2
 
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
 
gragh_path = './model.pb'
image_path = './lvds1901.JPG'
inputtensorname = 'input_tensor:0'
tensorname = 'loss/inference/encode/resize_images/ResizeBilinear'
filepath='./net_output.txt'
HEIGHT=256
WIDTH=256
VGG_MEAN = [103.939, 116.779, 123.68]
 
with tf.Graph().as_default():
  graph_def = tf.GraphDef()
  with tf.gfile.GFile(gragh_path, 'rb') as fid:
    serialized_graph = fid.read()
    graph_def.ParseFromString(serialized_graph)
 
    tf.import_graph_def(graph_def, name='')
 
    image = cv2.imread(image_path)
    image = cv2.resize(image, (WIDTH, HEIGHT), interpolation=cv2.INTER_CUBIC)
    image_np = np.array(image)
    image_np = image_np - VGG_MEAN
    image_np_expanded = np.expand_dims(image_np, axis=0)
 
    with tf.Session() as sess:
      ops = tf.get_default_graph().get_operations()
      tensor_name = tensorname + ':0'
      tensor_dict = tf.get_default_graph().get_tensor_by_name(tensor_name)
      image_tensor = tf.get_default_graph().get_tensor_by_name(inputtensorname)
      output = sess.run(tensor_dict, feed_dict={image_tensor: image_np_expanded})
      
      ftxt = open(filepath,'w')
      transform = output.transpose(0, 3, 1, 2)
      transform = transform.flatten()
      weight_count = 0
      for i in transform:
        if weight_count % 10 == 0 and weight_count != 0:
          ftxt.write('\n')
        ftxt.write(str(i) + ',')
        weight_count += 1
      ftxt.close()

以上这篇TensorFlow实现打印每一层的输出就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中的array数组模块相关使用
Jul 05 Python
PyQt5每天必学之进度条效果
Apr 19 Python
python读取LMDB中图像的方法
Jul 02 Python
pandas使用apply多列生成一列数据的实例
Nov 28 Python
opencv与numpy的图像基本操作
Mar 08 Python
华为2019校招笔试题之处理字符串(python版)
Jun 25 Python
浅谈python 中类属性共享的问题
Jul 02 Python
基于YUV 数据格式详解及python实现方式
Dec 09 Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 Python
Python reduce函数作用及实例解析
May 08 Python
Python调用C/C++的方法解析
Aug 05 Python
python实现图片素描效果
Sep 26 Python
NumPy排序的实现
Jan 21 #Python
tensorflow实现在函数中用tf.Print输出中间值
Jan 21 #Python
Python实现随机生成任意数量车牌号
Jan 21 #Python
tensorflow模型继续训练 fineturn实例
Jan 21 #Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
Jan 21 #Python
tensorflow查看ckpt各节点名称实例
Jan 21 #Python
python同义词替换的实现(jieba分词)
Jan 21 #Python
You might like
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
javascript调试说明
2010/06/07 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
javascript运动详解
2015/07/06 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
Python多线程编程(一):threading模块综述
2015/04/05 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
Python3内置模块random随机方法小结
2019/07/13 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
python已协程方式处理任务实现过程
2019/12/27 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
优秀学生干部个人的自我评价
2013/10/04 职场文书
大学生就业自我鉴定
2013/10/26 职场文书
如何掌握自荐信格式呢
2013/11/19 职场文书
经济与贸易专业应届生求职信
2013/11/19 职场文书
保护黄河倡议书
2014/05/16 职场文书
培训研修方案
2014/06/06 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
优秀共产党员事迹材料
2014/12/18 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
javascript拖曳互换div的位置实现示例
2021/06/28 Javascript
python基础之//、/与%的区别详解
2022/06/10 Python