时间:2021-05-22
在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 osimport os.path as opsimport argparseimport timeimport math import tensorflow as tfimport globimport numpy as npimport matplotlib.pyplot as pltimport 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=256WIDTH=256VGG_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实现打印每一层的输出就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。思路:1、把每层节点的val值用list存好2、把每层节点存好:①计算当层节点的个数,这
本笔记目的是通过tensorflow实现一个两层的神经网络。目的是实现一个二次函数的拟合。如何添加一层网络代码如下:defadd_layer(inputs,in
按层次遍历二元树问题描述:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。例如输入:?123458//610////57911输出
一、多层前向神经网络多层前向神经网络由三部分组成:输出层、隐藏层、输出层,每层由单元组成;输入层由训练集的实例特征向量传入,经过连接结点的权重传入下一层,前一层
pytorch中的state_dict是一个简单的python的字典对象,将每一层与它的对应参数建立映射关系.(如model的每一层的weights及偏置等等)