欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解TensorFlow查看ckpt中變量的幾種方法

 更新時(shí)間:2018年06月19日 09:30:20   作者:黑暗星球  
本篇文章主要介紹了詳解TensorFlow查看ckpt中變量的幾種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

查看TensorFlow中checkpoint內(nèi)變量的幾種方法

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

  1. 在有model的情況下,使用tf.train.Saver進(jìn)行restore
  2. 使用tf.train.NewCheckpointReader直接讀取ckpt文件,這種方法不需要model。
  3. 使用tools里的freeze_graph來讀取ckpt

注意:

  1. 如果模型保存為.ckpt的文件,則使用該文件就可以查看.ckpt文件里的變量。ckpt路徑為 model.ckpt
  2. 如果模型保存為.ckpt-xxx-data (圖結(jié)構(gòu))、.ckpt-xxx.index (參數(shù)名)、.ckpt-xxx-meta (參數(shù)值)文件,則需要同時(shí)擁有這三個(gè)文件才行。并且ckpt的路徑為 model.ckpt-xxx

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

1.首先建立model
2.從ckpt中恢復(fù)變量

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中恢復(fù)變量
  sess = tf.Session()
  saver = tf.train.Saver() #saver = tf.train.Saver(...variables...) # 恢復(fù)部分變量時(shí),只需要在Saver里指定要恢復(fù)的變量
  save_path = 'ckpt的路徑'
  saver.restore(sess, save_path) # 從ckpt中恢復(fù)變量

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

2. 使用tf.train.NewCheckpointReader直接讀取ckpt文件里的變量,使用tools.inspect_checkpoint里的print_tensors_in_checkpoint_file函數(shù)打印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里的內(nèi)容
from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file

print_tensors_in_checkpoint_file(file_name, #ckpt文件名字
                 tensor_name, # 如果為None,則默認(rèn)為ckpt里的所有變量
                 all_tensors, # bool 是否打印所有的tensor,這里打印出的是tensor的值,一般不推薦這里設(shè)置為False
                 all_tensor_names) # bool 是否打印所有的tensor的name
#上面的打印ckpt的內(nèi)部使用的是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。

使用freeze_graph可以將圖和ckpt進(jìn)行合并。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python讀取表格類型文件代碼實(shí)例

    Python讀取表格類型文件代碼實(shí)例

    這篇文章主要介紹了Python讀取表格類型文件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 如何使用ChatGPT搭建AI網(wǎng)站

    如何使用ChatGPT搭建AI網(wǎng)站

    ChatGPT是一種基于人工智能技術(shù)的聊天機(jī)器人,可以用于搭建AI網(wǎng)站。本文將介紹如何使用ChatGPT搭建AI網(wǎng)站,包括安裝ChatGPT、創(chuàng)建聊天機(jī)器人、添加自定義功能等。
    2023-03-03
  • Python訪問Redis的詳細(xì)操作

    Python訪問Redis的詳細(xì)操作

    redis 提供兩個(gè)類 Redis 和 StrictRedis, StrictRedis 用于實(shí)現(xiàn)大部分官方的命令,Redis 是 StrictRedis 的子類,用于向后兼用舊版本,接下來通過本文給大家分享Python訪問Redis的詳細(xì)操作,需要的朋友參考下吧
    2021-06-06
  • python實(shí)現(xiàn)web方式logview的方法

    python實(shí)現(xiàn)web方式logview的方法

    這篇文章主要介紹了python實(shí)現(xiàn)web方式logview的方法,涉及Python基于web模塊操作Linux命令的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • python 抽象類的使用詳解

    python 抽象類的使用詳解

    這篇文章主要介紹了python 抽象類的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python 學(xué)習(xí)筆記

    Python 學(xué)習(xí)筆記

    Python 基本概念等學(xué)習(xí)資料
    2008-12-12
  • Python圖像處理Pillow庫的基礎(chǔ)使用

    Python圖像處理Pillow庫的基礎(chǔ)使用

    Pillow庫是Python中最流行的圖像處理庫之一,它是PIL(Python Imaging Library)的一個(gè)分支,提供了豐富的圖像處理功能,使圖像處理變得簡單而高效,在這篇文章中,我們將探討Pillow庫的一些基本功能,感興趣的朋友可以參考下
    2023-09-09
  • Python實(shí)現(xiàn)JavaBeans流程詳解

    Python實(shí)現(xiàn)JavaBeans流程詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)JavaBeans流程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-01-01
  • 教你怎么用python連接sql server

    教你怎么用python連接sql server

    今天教大家怎么用python連接sql server,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • python3 使用traceback定位異常實(shí)例

    python3 使用traceback定位異常實(shí)例

    這篇文章主要介紹了python3 使用traceback定位異常實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評(píng)論