使用Tensorboard
Tensorboard 是一个用于在训练期间或之后跟踪实验结果的服务。它是更大的 Tensorflow 项目的一部分,但可以独立使用。
安装Tensorboard
tensorboard 包可以直接通过 pip install tensorboard 安装,或者通过 PyKEEN 使用 tensorboard 额外选项在 pip install pykeen[tensorboard] 中安装。
注意
可以在不实际安装TensorBoard的情况下创建TensorBoard日志。 但是,如果你想查看并通过跟踪器与创建的数据进行交互,则必须安装它。
启动Tensorboard
可以从命令行启动tensorboard网络应用程序
$ tensorboard --logdir=~/.data/pykeen/logs/tensorboard/
传递给--logdir的值是日志目录的位置。默认情况下,PyKEEN会记录到
~/.data/pykeen/logs/tensorboard/,但这是可配置的。
然后可以通过浏览器访问Tensorboard:http://localhost:6006/
注意
在训练过程中,不需要运行Tensorboard进程。实际上,只有在您想要与日志交互并查看日志时,才需要启动它。它可以随时停止,日志将保留在文件系统中。
最小管道示例
在训练过程中,可以使用tensorboard跟踪器与pykeen.pipeline.pipeline()如下所示:
from pykeen.pipeline import pipeline
pipeline_result = pipeline(
model='RotatE',
dataset='Kinships',
result_tracker='tensorboard',
)
它被放置在PyKEEN的默认数据目录pystow的一个子目录中,称为tensorboard,
在你的系统上可能位于~/.data/pykeen/logs/tensorboard。如果没有提供其他名称,文件将基于当前时间命名。
指定日志名称
如果你想在默认目录中指定日志文件的名称,请使用experiment_name关键字参数,如下所示:
from pykeen.pipeline import pipeline
pipeline_result = pipeline(
model='RotatE',
dataset='Kinships',
result_tracker='tensorboard',
result_tracker_kwargs=dict(
experiment_name='rotate-kinships',
),
)
指定自定义日志目录
如果你想指定一个自定义目录来存储tensorboard日志,请使用experiment_path关键字参数,如下所示:
from pykeen.pipeline import pipeline
pipeline_result = pipeline(
model='RotatE',
dataset='Kinships',
result_tracker='tensorboard',
result_tracker_kwargs=dict(
experiment_path='tb-logs/rotate-kinships',
),
)
警告
请注意,如果您使用相同的目录重新运行实验,日志将被合并。 建议为每个实验使用唯一的子目录,以便于比较。
最小HPO管道示例
Tensorboard 跟踪也可以与 HPO 管道结合使用,如下所示:
from pykeen.pipeline import pipeline
hpo_pipeline_result = hpo_pipeline(
n_trials=30,
dataset='Nations',
model='TransE',
result_tracker='tensorboard',
)
这提供了一种直接比较不同试验和参数配置的方法。请注意,建议将实验名称保留为默认值,以便为每个试验创建一个目录。