1. 程式人生 > 程式設計 >Tensorflow讀取並輸出已儲存模型的權重數值方式

Tensorflow讀取並輸出已儲存模型的權重數值方式

這篇文章是為了對網路模型的權重輸出,可以用來轉換成其他框架的模型。

import tensorflow as tf
from tensorflow.python import pywrap_tensorflow

#首先,使用tensorflow自帶的python打包庫讀取模型
model_reader = pywrap_tensorflow.NewCheckpointReader(r"model.ckpt")

#然後,使reader變換成類似於dict形式的資料
var_dict = model_reader.get_variable_to_shape_map()

#最後,迴圈列印輸出
for key in var_dict:
  print("variable name: ",key)
  print(model_reader.get_tensor(key))

結果(其中一個權重的示例)

........
variable name: InceptionV3/Mixed_7c/Branch_3/Conv2d_0b_1x1/weights
[[[[ 0.00013783 -0.00251428 0.02235526 ... -0.01409702 0.00340105
  -0.00752808]
  [ 0.01590012 -0.00258413 -0.00627338 ... -0.03600493 0.01220086
  -0.01254225]
  [-0.02394262 -0.00764508 -0.00895328 ... -0.01731405 0.03568469
   0.00918952]
  ...
  [-0.01865693 -0.00358359 -0.02342288 ... 0.00935838 0.00367858
  -0.00976252]
  [ 0.01297642 0.00223457 0.00652326 ... -0.00762609 -0.0136022
  -0.01129473]
  [-0.01395879 -0.00920246 0.01061887 ... 0.0236958  0.00041993
  -0.01291134]]]]
......

以上這篇Tensorflow讀取並輸出已儲存模型的權重數值方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。