1. pywrap_tensorflow.NewCheckpoint(path)獲得checkpoint的讀取器
參數說明: path表示checkpoint的路徑
2.np.save(path, dict) 根據路徑將數據保存為npy類型
參數說明:path表示進行參數保存的路徑, dict 表示需要進行保存的參數
3.tl.file.load_npy_to_any(name=path)對保存的npy文件進行讀取
參數說明:name=path表示進行參數讀取的路徑
代碼說明:
第一步:使用pywrap_tensorflow.NewCheckpoint(path)獲得checkpoint的參數讀取器
第二步:使用reader.get_variable_to_shape_map()構造字典
第三步:循環key,將鍵值對寫入到all_variable.npy
第四步:使用tl.file.load_npy_to_any將npy數據進行讀取
from tensorflow.python import pywrap_tensorflow import os import numpy as np import tensorlayer as tl #print出ckpt里的所有變量 # 第一步:構建讀取checkpoint的reader model_dir = './models' checkpoints = model_dir + os.path.sep + 'model-20180626-205832.ckpt-60000' reader = pywrap_tensorflow.NewCheckpointReader(checkpoints)
# 第二步:構建參數字典 var_to_shape_map = reader.get_variable_to_shape_map() # 存儲所有變量 # 第三步:循環key,構建數據,使用np.save()進行數據保存 for key in var_to_shape_map: var_to_shape_map[key] = reader.get_tensor(key) np.save('all_variable.npy', var_to_shape_map) # 第四步:使用tl.files.load_npy_to_any進行數據的讀取 # data2 = np.load('./all_variable.npy', allow_pickle=True) data = tl.files.load_npy_to_any(name='all_variable.npy') for key, value in data.items(): print(key, value.shape)