我对TensorFlow tf.train.Saver
对象有一个奇怪的问题,它显然没有保存在预期的目录中。
考虑这个小代码示例:我创建了一个FileWriter
来监控进度和每个n
步骤我还保存了当前模型:
TENSORBOARD_RUN_DIR = 'tb\\run_1' # example
with tf.Session(graph=graph) as session: # assume I already have a graph
with tf.summary.FileWriter(TENSORBOARD_RUN_DIR, session.graph) as writer:
# default saver
saver = tf.train.Saver()
for i in range(TRAINING_TOTAL_ITERATIONS):
if i > 0 and i % TENSORBOARD_LOG_INTERVAL == 0:
# save in the same dir as the FileWriter (in theory)
saver.save(session, TENSORBOARD_RUN_DIR, global_step=i, write_meta_graph=i == TENSORBOARD_LOG_INTERVAL)
else:
_ = session.run(adam)
现在,我希望TensorBoard日志数据和模型检查点都保存在同一目标目录中,即。 tb\\run_1
,但这是我得到的:
root
├───...
└───tb
├───run_1
│ └───events.out.tfevents.1528813727... # OK
├checkpoint
├simple_cnn_1-400.index
└...
那么,为什么Saver
对象忽略了目标子目录并将图形文件保存在tb
下,而不是像tb\\run_1
一样保存在FileWriter
下?
我觉得我在这里错过了一些非常明显的东西,但我不确定我做错了什么。
谢谢!