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实现的下载8000首儿歌的代码分享
Nov 21 Python
python实现登陆知乎获得个人收藏并保存为word文件
Mar 16 Python
Python的语言类型(详解)
Jun 24 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
Jul 10 Python
Python生成指定数量的优惠码实操内容
Jun 18 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 Python
关于PyTorch源码解读之torchvision.models
Aug 17 Python
Python缓存技术实现过程详解
Sep 25 Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
Feb 03 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
Jun 02 Python
使用npy转image图像并保存的实例
Jul 01 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
多人战的战术与战略
2020/03/04 星际争霸
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
php 批量替换html标签的实例代码
2013/11/26 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
PHP反射API示例分享
2016/10/08 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
JS匀速运动演示示例代码
2013/11/26 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
express.js中间件说明详解
2019/03/19 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
使用Python实现简单的服务器功能
2017/08/25 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Python之读取TXT文件的方法小结
2018/04/27 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
通俗讲解python 装饰器
2020/09/07 Python
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
《藏戏》教学反思
2014/02/11 职场文书
高中军训感言600字
2014/03/11 职场文书
祖国在我心中演讲稿200字
2014/08/28 职场文书
佛光寺导游词
2015/02/10 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers