91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用TensorFlow怎么查看ckpt中的變量

發布時間:2021-05-20 15:46:17 來源:億速云 閱讀:245 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關使用TensorFlow怎么查看ckpt中的變量,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

查看TensorFlow中checkpoint內變量的幾種方法

查看ckpt中變量的方法有三種:

  1. 在有model的情況下,使用tf.train.Saver進行restore

  2. 使用tf.train.NewCheckpointReader直接讀取ckpt文件,這種方法不需要model。

  3. 使用tools里的freeze_graph來讀取ckpt

注意:

  1. 如果模型保存為.ckpt的文件,則使用該文件就可以查看.ckpt文件里的變量。ckpt路徑為 model.ckpt

  2. 如果模型保存為.ckpt-xxx-data (圖結構)、.ckpt-xxx.index (參數名)、.ckpt-xxx-meta (參數值)文件,則需要同時擁有這三個文件才行。并且ckpt的路徑為 model.ckpt-xxx

1. 基于model來讀取ckpt文件里的變量

1.首先建立model
2.從ckpt中恢復變量

with tf.Graph().as_default() as g: 
  #建立model
  images, labels = cifar10.inputs(eval_data=eval_data) 
  logits = cifar10.inference(images) 
  top_k_op = tf.nn.in_top_k(logits, labels, 1) 
  #從ckpt中恢復變量
  sess = tf.Session()
  saver = tf.train.Saver() #saver = tf.train.Saver(...variables...) # 恢復部分變量時,只需要在Saver里指定要恢復的變量
  save_path = 'ckpt的路徑'
  saver.restore(sess, save_path) # 從ckpt中恢復變量

注意:基于model來讀取ckpt中變量時,model和ckpt必須匹配。

2. 使用tf.train.NewCheckpointReader直接讀取ckpt文件里的變量,使用tools.inspect_checkpoint里的print_tensors_in_checkpoint_file函數打印ckpt里的東西

#使用NewCheckpointReader來讀取ckpt里的變量
from tensorflow.python import pywrap_tensorflow
checkpoint_path = os.path.join(model_dir, "model.ckpt")
reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path) #tf.train.NewCheckpointReader
var_to_shape_map = reader.get_variable_to_shape_map()
for key in var_to_shape_map:
  print("tensor_name: ", key)
  #print(reader.get_tensor(key))
#使用print_tensors_in_checkpoint_file打印ckpt里的內容
from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file

print_tensors_in_checkpoint_file(file_name, #ckpt文件名字
                 tensor_name, # 如果為None,則默認為ckpt里的所有變量
                 all_tensors, # bool 是否打印所有的tensor,這里打印出的是tensor的值,一般不推薦這里設置為False
                 all_tensor_names) # bool 是否打印所有的tensor的name
#上面的打印ckpt的內部使用的是pywrap_tensorflow.NewCheckpointReader所以,掌握NewCheckpointReader才是王道

3.使用tools里的freeze_graph來讀取ckpt

from tensorflow.python.tools import freeze_graph

freeze_graph(input_graph, #=some_graph_def.pb
       input_saver, 
       input_binary, 
       input_checkpoint, #=model.ckpt
       output_node_names, #=softmax
       restore_op_name, 
       filename_tensor_name, 
       output_graph, #='./tmp/frozen_graph.pb'
       clear_devices, 
       initializer_nodes, 
       variable_names_whitelist='', 
       variable_names_blacklist='', 
       input_meta_graph=None, 
       input_saved_model_dir=None, 
       saved_model_tags='serve', 
       checkpoint_version=2)
#freeze_graph_test.py講述了怎么使用freeze_grapg。

以上就是使用TensorFlow怎么查看ckpt中的變量,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沅陵县| 南阳市| 儋州市| 绥中县| 定南县| 从化市| 东安县| 汝南县| 宁城县| 大港区| 交城县| 策勒县| 开封市| 百色市| 南丰县| 辽中县| 凤山市| 大冶市| 屏边| 仪征市| 阿克苏市| 古丈县| 玉门市| 象山县| 蒙山县| 本溪市| 榆树市| 沽源县| 延吉市| 石渠县| 湾仔区| 宁晋县| 杭锦旗| 广汉市| 盘锦市| 临桂县| 任丘市| 阳信县| 会东县| 灵武市| 罗平县|