tensorflow 模型檔案
阿新 • • 發佈:2019-01-10
tensorflow生成的模型檔案主要有三個:
```
.meta, .index和.data
```
分成三個檔案的原因是tensorflow將計算圖結構和變數值儲存在不同的檔案裡。.meta檔案描述的是計算圖結構。
freeze_graph.py指令碼從一個GraphDef(.pb或者.pbtxt)檔案和checkpoint(.meta, .index, .data)檔案生成“frozen”(所謂的frozen就是將訓練中的變數,轉換成模型部署需要的常量過程,這個常量的儲存形式是google的protocol buffers格式)的模型。
protocol buffer在memory和運算速度上比XML
frozen的過程大致如下:
1.建立和訓練模型tf.Graph,記為g_1;
2.使用Session.run()介面,以numpy 陣列的方式獲取checkpoint的變數值;
3.在新的tf.Graph中,使用tf.constant()為該新的graph建立常量值,常量值的來源是第二部建立的值。
4.使用tf.import_graph_def()將g_1的節點拷貝到g_2中,使用input_map引數將g_1中的引數存放到tf.constant()張量中。
5.使用g_2.as_graph_def()獲得圖的protocol buffer的表示方法。