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实现简单的计时器功能函数
Mar 14 Python
Python实现的数据结构与算法之队列详解
Apr 22 Python
Python 迭代器与生成器实例详解
May 18 Python
Python更新数据库脚本两种方法及对比介绍
Jul 27 Python
python中format()函数的简单使用教程
Mar 14 Python
Python爬取视频(其实是一篇福利)过程解析
Aug 01 Python
Python代码实现http/https代理服务器的脚本
Aug 12 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
Python实现剪刀石头布小游戏(与电脑对战)
Dec 31 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
Mar 02 Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 Python
Jupyter notebook 启动闪退问题的解决
Apr 13 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 setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
PHP加密技术的简单实现
2016/09/04 PHP
深入认识javascript中的eval函数
2009/11/02 Javascript
JS数学函数Exp使用说明
2012/08/09 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
Vue项目查看当前使用的elementUI版本的方法
2018/09/27 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
python实现简单爬虫功能的示例
2016/10/24 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
python语言是免费还是收费的?
2020/06/15 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
中学生自我鉴定
2014/02/04 职场文书
2014年公司庆元旦活动方案
2014/03/05 职场文书
机电一体化求职信
2014/03/10 职场文书
《搭石》教学反思
2014/04/07 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
2014年平安建设工作总结
2014/11/19 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
使用MybatisPlus打印sql语句
2022/04/22 SQL Server