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)