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函数学习笔记
Oct 07 Python
Python中的map、reduce和filter浅析
Apr 26 Python
python查看zip包中文件及大小的方法
Jul 09 Python
一些常用的Python爬虫技巧汇总
Sep 28 Python
Python构建网页爬虫原理分析
Dec 19 Python
转换科学计数法的数值字符串为decimal类型的方法
Jul 16 Python
Python爬取成语接龙类网站
Oct 19 Python
通过 Django Pagination 实现简单分页功能
Nov 11 Python
Anaconda的安装及其环境变量的配置详解
Apr 22 Python
Python 实现RSA加解密文本文件
Dec 30 Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 Python
利用Python判断你的密码难度等级
Jun 02 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 开发环境配置(测试开发环境)
2010/04/28 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
php实现递归的三种基本方式
2020/07/04 PHP
js的延迟执行问题分析
2014/06/23 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
2015/09/26 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
Windows下安装Scrapy
2018/10/17 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
解决django FileFIELD的编码问题
2020/03/30 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
苏格兰销售女装、男装和童装的连锁店:M&Co
2018/03/16 全球购物
街道党风廉政建设调研报告
2015/01/01 职场文书
承诺函范文
2015/01/21 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL