简短的问题:如何选择在 TensorBoard 的嵌入选项卡中查看哪个检查点?
问题的较长版本:
我想用 TensorBoard 可视化词嵌入。为此,在阅读完官方教程 (mirror)我添加了以下代码:
embedding_writer = tf.summary.FileWriter(model_folder)
embeddings_projector_config = projector.ProjectorConfig()
embedding = embeddings_projector_config.embeddings.add()
embedding.tensor_name = model.W.name # W corresponds to the embeddings' weights.
projector.visualize_embeddings(embedding_writer, embeddings_projector_config)
# Initialize the model
sess.run(tf.global_variables_initializer())
[...]
# Then, for each training epoch:
model_saver.save(sess, os.path.join(model_folder, 'model_{0:05d}.ckpt'.format(epoch_number)))
查看 TensorFlow 保存日志的文件夹,我确实为每个时期都有一个检查点:
![enter image description here](https://i.stack.imgur.com/lXAq5.png)
然而,在 TensorBoard 的嵌入选项卡中,我似乎只能查看最新的检查点:
![enter image description here](https://i.stack.imgur.com/naVRI.png)
我有时想查看之前时期的嵌入。如何选择要在 TensorBoard 的嵌入选项卡中查看的检查点?
我是从事嵌入可视化工具工作的工程师之一。感谢您的反馈。我们计划在用户界面中添加一个下拉菜单,允许您选择不同的检查点。
与此同时,有一个解决方法。您可以编辑projector_config.pbtxt
位于 TensorBoard 保存日志的文件夹中。我假设内容projector_config.pbtxt
are:
embeddings {
...
}
在文件末尾添加以下行:
model_checkpoint_path: "path_to_log_dir/model_0000N.ckpt"
指向您想要可视化的确切检查点,并删除(如果存在)该行model_checkpoint_dir: "..."
。然后刷新页面(并可能重新运行 TensorBoard)。
例如,如果您启动了 TensorBoardtensorboard --logdir=output
,模型检查点绝对路径为C:\Users\a\output\en_2017-03-08_17-42-09-310106\model\model_00004.ckpt
,那么你应该附加到projector_config.pbtxt
:
model_checkpoint_path: "output\en_2017-03-08_17-42-09-310106\model\model_00004.ckpt"
的例子projector_config.pbtxt
:
embeddings {
tensor_name: "token_embedding/W:0"
}
model_checkpoint_path: "output\en_2017-03-08_17-42-09-310106\model\model_00004.ckpt"
如果当您单击 TensorBoard 中的嵌入选项卡时没有出现任何内容,则意味着model_checkpoint_path
您输入的内容不正确。
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)