Tensorflow 模型文件結構、模型中Tensor查看


tensorflow訓練后保存的模型主要包含兩部分,一是網絡結構的定義(網絡圖),二是網絡結構里的參數值



1.  .meta文件


.meta 文件以 “protocol buffer”格式保存了整個模型的結構圖,模型上定義的操作等信息。

這個文件保存了網絡結構的定義。

例如 model.ckpt-3072.meta ,大小是 2.9 MB。



2.  .data-00000-of-00001 文件和 .index 文件


.data-00000-of-00001 文件和 .index 文件合在一起組成了 ckpt 文件保存了網絡結構中所有 權重和偏置 的數值

.data文件保存的是變量值,.index文件保存的是.data文件中數據和 .meta文件中結構圖之間的對應關系(Mebay?)。


例如 model.ckpt-3072.data-00000-of-00001,大小是 3.7 MB ;  model.ckpt-3072.index ,大小是 15.5 KB。



3.  checkpoint文件


checkpoint是一個文本文件,記錄了訓練過程中在所有中間節點上保存的模型的名稱,首行記錄的是最后(最近)一次保存的模型名稱。

例如 checkpoint ,大小是 271字節。




查看 ckpt 模型文件中保存的 Tensor信息


查詢變量名稱和值:


################
# This code used to check msg of Tensor stored in ckpt
# work well with tensorflow version of 'v1.3.0-rc2-20-g0787eee'
################

import os
from tensorflow.python import pywrap_tensorflow

# code for finall ckpt
# checkpoint_path = os.path.join('~/tensorflowTraining/ResNet/model', "model.ckpt")

# code for designated ckpt, change 3890 to your num
checkpoint_path = os.path.join('~/tensorflowTraining/ResNet/model', "model.ckpt-3890")
# Read data from checkpoint file
reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path)
var_to_shape_map = reader.get_variable_to_shape_map()
# Print tensor name and values
for key in var_to_shape_map:
    print("tensor_name: ", key)
    print(reader.get_tensor(key))

部分輸出信息截圖,卷積:



偏置:



動量:




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM