TensorFlow实现打印每一层的输出
程序员文章站
2022-07-18 09:11:07
在test.py中可以通过如下代码直接生成带weight的pb文件,也可以通过tf官方的freeze_graph.py将ckpt转为pb文件。
constant_graph...
在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实现打印每一层的输出就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
-
TensorFlow实现打印每一层的输出
-
TensorFlow打印tensor值的实现方法
-
借助外力对行数多而列数少的Excel表格实现分栏打印输出
-
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
-
php打印输出棋盘的实现方法
-
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。
-
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。
-
php打印输出棋盘的实现方法_PHP
-
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】