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数据类型及类型转换
Dec 18 Python
解决python报错MemoryError的问题
Jun 26 Python
使用Python编写Prometheus监控的方法
Oct 15 Python
python3的输入方式及多组输入方法
Oct 17 Python
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 Python
Python3中lambda表达式与函数式编程讲解
Jan 14 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
Python 在函数上添加包装器
Jul 28 Python
Django haystack实现全文搜索代码示例
Nov 28 Python
python 实现Harris角点检测算法
Dec 11 Python
Python实现列表拼接和去重的三种方式
Jul 02 Python
Python 如何利用ffmpeg 处理视频素材
Nov 27 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
php学习笔记之 函数声明
2011/06/09 PHP
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
2014/08/23 PHP
永不消失的title提示代码
2007/02/15 Javascript
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
javascript 对象定义方法 简单易学
2009/03/22 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
2014/01/24 Javascript
javascript跨域原因以及解决方案分享
2015/04/08 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
浅析javascript的return语句
2015/12/15 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
element-ui 上传图片后清空图片显示的实例
2018/09/04 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
js实现select下拉框选择
2020/01/11 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
Python三级目录展示的实现方法
2016/09/28 Python
详解如何使用Python编写vim插件
2017/11/28 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
2020/02/28 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
医科大学生毕业的自我评价分享
2013/11/12 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
珍惜资源的建议书
2014/08/26 职场文书
优秀团队申报材料
2014/12/26 职场文书
刑事附带民事代理词
2015/05/25 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书
68句权威创业名言
2019/08/26 职场文书
乔迁新居祝福语
2019/11/04 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers