TensorFlow实战框架(第二版)131页 程序问题
ckpt=tf.train.get_checkpoint_state(
mnist_train.MODEL_SAVE_PATH)
#tf.train.get_checkpoint_state函数通过checkpoint文件找到模型文件名。
#该函数返回的是checkpoint文件CheckpointState proto类型的内容,其中有model_checkpoint_path和all_model_checkpoint_paths两个属性。
#其中model_checkpoint_path保存了最新的tensorflow模型文件的文件名,all_model_checkpoint_paths则有未被删除的所有tensorflow模型文
#件的文件名。
我的model文件夹保存如下:
要达到书中那样,需要把代码相应部分替换为如下:
while True:
with tf.Session() as sess:
ckpt=tf.train.get_checkpoint_state(
mnist_train.MODEL_SAVE_PATH
)
if ckpt and ckpt.model_checkpoint_path:
#第二版131页书中需要改为下列代码才会每个输出
#code-start
for path in ckpt.all_model_checkpoint_paths:
saver.restore(sess,path)
global_step = path.split('/')[-1].split('-')[-1]
accuracy_score=sess.run(accuracy,feed_dict=validate_feed)
print("After %s training step(s),validation""accuracy=%g"%(global_step,accuracy_score))
#code-end
break
else:
print('No checkpoint file found')
break
return
正确输出如下:
按照书上就成输出最后一个,这书BUG真多。
`