tensorflow打印pb、ckpt模型的参数以及在tensorboard里显示图结构
生活随笔
收集整理的這篇文章主要介紹了
tensorflow打印pb、ckpt模型的参数以及在tensorboard里显示图结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
打印pb模型參數及可視化結構
import tensorflow as tf from tensorflow.python.framework import graph_util tf.reset_default_graph() # 重置計算圖 output_graph_path = '/home/huihua/NewDisk/stuff_detector_v1.pb' with tf.Session() as sess: tf.global_variables_initializer().run() output_graph_def = tf.GraphDef() # 獲得默認的圖 graph = tf.get_default_graph() with open(output_graph_path, "rb") as f: output_graph_def.ParseFromString(f.read()) _ = tf.import_graph_def(output_graph_def, name="") # 得到當前圖有幾個操作節點 print("%d ops in the final graph." % len(output_graph_def.node)) tensor_name = [tensor.name for tensor in output_graph_def.node] print(tensor_name) print('---------------------------') # 在log_graph文件夾下生產日志文件,可以在tensorboard中可視化模型 summaryWriter = tf.summary.FileWriter('log_pb/', graph) for op in graph.get_operations(): # print出tensor的name和值 print(op.name, op.values())
加載ckpt模型到tensorboard可視化
import tensorflow as tf
graph = tf.get_default_graph()
graphdef = graph.as_graph_def()
_ = tf.train.import_meta_graph("/home/huihua/NewDisk1/research/object_detection/ssd_model/eff_ssd_model/model.ckpt-100.meta")
summary_write = tf.summary.FileWriter("./log_ck" , graph)
打印模型參數
from tensorflow.python import pywrap_tensorflow
import os
import tensorflow as tf
checkpoint_path=os.path.join('./model.ckpt-300')
# 打印參數
reader=pywrap_tensorflow.NewCheckpointReader(checkpoint_path)
var_to_shape_map=reader.get_variable_to_shape_map()
for key in var_to_shape_map:
print('tensor_name: ',key)
修改模型中的參數名稱
import tensorflow as tf
def rename_var(ckpt_path, new_ckpt_path):
with tf.Session() as sess:
for var_name, _ in tf.contrib.framework.list_variables(ckpt_path):
print(var_name)
var = tf.contrib.framework.load_variable(ckpt_path, var_name)
new_var_name = var_name.replace('IV','ssd_efficient_net_feature_extractor' )
var = tf.Variable(var, name=new_var_name)
saver = tf.train.Saver()
sess.run(tf.global_variables_initializer())
saver.save(sess, new_ckpt_path)
ckpt_path = './model.ckpt-200'
new_ckpt_path = './model.ckpt-300'
rename_var(ckpt_path, new_ckpt_path)
總結
以上是生活随笔為你收集整理的tensorflow打印pb、ckpt模型的参数以及在tensorboard里显示图结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Google Chrome保存插件方法
- 下一篇: Linux环境下的图形系统和AMD R6