Tensorflow中保存模型時生成的各種文件區別和作用


假如我們得到了如下的checkpoints,

上面的文件主要可以分成三類:一種是在保存模型時生成的文件,一種是我們在使用tensorboard時生成的文件,還有一種就是plugins這個文件夾,這個是使用capture tpuprofile工具生成的,該工具可以跟蹤TPU的計算過程,並對你的模型性能進行分析,這里就不想詳細介紹了。本文主要介紹前面兩種文件的作用:

tensorboard文件

  • events.out.tfevents.*...: 保存的就是你的accuracy或者loss在不同時刻的值。

  • graph.pbtxt: 這其實是一個文本文件,保存了模型的結構信息,部分信息如下所示:

    node_def {
      name: "FixedLengthRecordDataset/input_pipeline_task10/buffer_size"
      op: "Const"
      device: "/job:worker/task:10/device:CPU:0"
      attr {
        key: "dtype"
        value {
          type: DT_INT64
        }
      }
      attr {
        key: "value"
        value {
          tensor {
            dtype: DT_INT64
            tensor_shape {
            }
            int64_val: 262144
          }
        }
      }
    }
    node_def {
      name: "FixedLengthRecordDataset"
      op: "FixedLengthRecordDataset"
      input: "FixedLengthRecordDataset/input_pipeline_task10/filenames:output:0"
      input: "FixedLengthRecordDataset/input_pipeline_task10/header_bytes:output:0"
      input: "FixedLengthRecordDataset/input_pipeline_task10/record_bytes:output:0"
      input: "FixedLengthRecordDataset/input_pipeline_task10/footer_bytes:output:0"
      input: "FixedLengthRecordDataset/input_pipeline_task10/buffer_size:output:0"
      device: "/job:worker/task:10/device:CPU:0"
    }
	...

保存模型時生成的文件

  • checkpoint: 其實就是一個txt文件,存儲的是路徑信息,我們可以看一下它的內容是什么:
model_checkpoint_path: "model.ckpt-5000"
all_model_checkpoint_paths: "model.ckpt-0"
all_model_checkpoint_paths: "model.ckpt-5000"

可以看到第一行表示最近的一次checkpoints路徑信息,也就是說可能因為某種原因你的模型訓練中斷了。不過沒關系,下次重新訓練時,會自動從上次的斷點繼續訓練而不用重新訓練了。后面兩項則表示已經保存的所有斷點路徑。

  • model.ckpt-*.meta: 其實和上面的graph.pbtxt作用一樣都保存了graph結構,只不過meta文件是二進制的,它包括 GraphDef,SaverDef等,當存在meta file,我們可以不在文件中定義模型,也可以運行,而如果沒有meta file,我們需要定義好模型,再加載data file,得到變量值。

  • model.ckpt-*.index: 這是一個string-string table,table的key值為tensor名,value為serialized BundleEntryProto。每個BundleEntryProto表述了tensor的metadata,比如那個data文件包含tensor、文件中的偏移量、一些輔助數據等。

  • model.ckpt-*.data-*: 保存了模型的所有變量的值,TensorBundle集合。



MARSGGBO原創





2019-10-14




免責聲明!

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



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