tensorflow输出的模型文件有3个:
.data-00000-of-00001
.index
.meta
.meta
保存的网络的结构框架,所以保存不同阶段模型时,不同的.meta
可以相互替换。
.index
和.data-00000-of-00001
保存了网络结构中所有权重和偏置的数值。
import tensorflow as tf
NewCheck = tf.train.NewCheckpointReader('checkpoints/20200702-1506/model.ckpt-10000')
# 打印模型中的所有变量
print('debug_string:')
print(NewCheck.debug_string().decode('utf-8'))
# # 获取变量中的值
print('get_tensor:')
print(NewCheck.get_tensor('G/d64/weights'))
# 打印模型中的所有变量
print("get_variable_to_dtype_map:")
print(NewCheck.get_variable_to_dtype_map())
部分输出如下:
debug_string:
D_X/C128/instance_norm/offset (DT_FLOAT) [128]
D_X/C128/instance_norm/offset/Adam_D_X (DT_FLOAT) [128]
D_X/C128/instance_norm/offset/Adam_D_X_1 (DT_FLOAT) [128]
D_X/C128/instance_norm/scale (DT_FLOAT) [128]
D_X/C128/instance_norm/scale/Adam_D_X (DT_FLOAT) [128]
D_X/C128/instance_norm/scale/Adam_D_X_1 (DT_FLOAT) [128]
get_tensor:
[[[[-2.24834029e-02 1.09406319e-02 -7.64506171e-03 ... 2.77568642e-02
-1.48543799e-02 -3.74433547e-02]
[-2.56877709e-02 1.50775947e-02 3.01289018e-02 ... 1.18831135e-02
5.33298124e-03 -3.52373309e-02]
[ 1.79959983e-02 -8.84884503e-03 -3.83310020e-02 ... 4.73532341e-02
3.36771645e-02 3.71183567e-02]
get_variable_to_dtype_map:
{'beta2_power_2': tf.float32, 'beta2_power_1': tf.float32, 'beta2_power': tf.float32, 'beta1_power_2': tf.float32