tensorflow可以自动创建一个唯一的运行目录吗?

时间:2016-08-19 09:06:32

标签: machine-learning tensorflow tensorboard

Tensorboard可以通过将每个运行存储在日志记录目录的子目录中来可视化几个张量流图的运行。 例如,the documentation提供了此示例:

experiments/
experiments/run1/
experiments/run1/events.out.tfevents.1456525581.name
experiments/run1/events.out.tfevents.1456525585.name
experiments/run2/
experiments/run2/events.out.tfevents.1456525385.name
/tensorboard --logdir=experiments

要开始下一次运行(run3),应该将新目录传递给SummaryWriter构造函数:

summary_writer = tf.train.SummaryWriter('experiments/run3/', sess.graph)

其中目录是顶级日志记录目录(实验)和唯一ID(run3)。

有没有办法自动创建新的唯一运行ID? 顺序整数ID会很好,基于时间的ID也是如此。

1 个答案:

答案 0 :(得分:2)

您可以在python中检查experiments中存在的目录是什么,并创建一个增加数字的新目录。

如果列表为空,我们从run_01开始。

import os

previous_runs = os.listdir('experiments')
if len(previous_runs) == 0:
    run_number = 1
else:
    run_number = max([int(s.split('run_')[1]) for s in previous_runs]) + 1

logdir = 'run_%02d' % run_number
summary_writer = tf.train.SummaryWriter(os.path.join('experiments', logdir), sess.graph)

我使用"%02d"来命名:run_01, run_02, run_03, ... run_10, run_11