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

Can tensorflow automatically create a unique run directory?

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

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

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

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

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

您可以检查 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.