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中endswith()函数的基本使用
Apr 07 Python
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
pygame实现弹力球及其变速效果
Jul 03 Python
Python实现的维尼吉亚密码算法示例
Apr 12 Python
利用ctypes获取numpy数组的指针方法
Feb 12 Python
详解python中list的使用
Mar 15 Python
20行python代码的入门级小游戏的详解
May 05 Python
python安装scipy的方法步骤
Jun 26 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
详解Scrapy Redis入门实战
Nov 18 Python
Python初识逻辑与if语句及用法大全
Aug 07 Python
Python中如何处理常见报错
Jan 18 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
虫族 ZERG 概述
2020/03/14 星际争霸
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
PHP _construct()函数讲解
2019/02/03 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
深入理解js中this的用法
2016/05/28 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
javascript如何创建对象
2016/08/29 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
vue template中slot-scope/scope的使用方法
2018/09/06 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
jQuery实现穿梭框效果
2021/01/19 jQuery
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
Python中利用LSTM模型进行时间序列预测分析的实现
2019/07/26 Python
Django框架序列化与反序列化操作详解
2019/11/01 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
你对IPv6了解程度
2016/02/09 面试题
保送生自荐信范文
2013/10/06 职场文书
保护动物的标语
2014/06/11 职场文书
出资证明书范本(标准版)
2014/09/24 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript