TensorFlow實(shí)現(xiàn)打印每一層的輸出
在test.py中可以通過如下代碼直接生成帶weight的pb文件,也可以通過tf官方的freeze_graph.py將ckpt轉(zhuǎn)為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函數(shù)可以獲取每一層的輸出
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實(shí)現(xiàn)打印每一層的輸出就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python隊(duì)列原理及實(shí)現(xiàn)方法示例
這篇文章主要介紹了python隊(duì)列原理及實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了Python隊(duì)列的概念、原理、定義及基本操作技巧,需要的朋友可以參考下2019-11-11
淺談Python中的函數(shù)(def)及參數(shù)傳遞操作
這篇文章主要介紹了淺談Python中的函數(shù)(def)及參數(shù)傳遞操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05
Python利用re模塊實(shí)現(xiàn)簡易分詞(tokenization)
分詞(tokenization)任務(wù)是Python字符串處理中最為常見任務(wù)了。本文將利用re模塊實(shí)現(xiàn)簡易tokenizer,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-04-04
OpenCV-Python直方圖均衡化實(shí)現(xiàn)圖像去霧
直方圖均衡化可以達(dá)到增強(qiáng)圖像顯示效果的目的。最常用的比如去霧。本文就來實(shí)現(xiàn)直方圖均衡化實(shí)現(xiàn)圖像去霧,感興趣的可以了解一下2021-06-06
Python中zip()函數(shù)用法及應(yīng)用場景詳解
Python的zip()函數(shù)用于將多個可迭代對象的元素按位置組合成元組,支持不等長的可迭代對象和多個可迭代對象,這篇文章主要介紹了Python中zip()函數(shù)用法及應(yīng)用場景的相關(guān)資料,需要的朋友可以參考下2025-04-04
python Task在協(xié)程調(diào)用實(shí)例講解
在本篇文章里小編給大家整理了一篇關(guān)于python Task如何在協(xié)程調(diào)用的相關(guān)內(nèi)容,有興趣的朋友們可以參考下。2021-04-04

