如何在TensorBoard Embedding Projector选不同张量及快速切换模型目录?
解决TensorBoard多目录可视化与Embedding张量选择的问题
嘿,这两个问题其实都有很便捷的解决方法,我来给你捋一捋:
一、不用重复启动TensorBoard,同时查看多个目录的模型
完全不用每次都重新启动TensorBoard!有两种更高效的方式:
直接指定多个目录启动:在
--logdir参数里用逗号分隔不同目录,还可以给每个目录起个易识别的别名,比如:tensorboard --logdir=a1:/path/to/a1,a2:/path/to/a2启动后,TensorBoard的界面顶部会出现一个Run下拉菜单,你可以直接切换a1、a2对应的模型日志,不用重启服务。
扫描父目录:如果a1、a2这些目录都在同一个父文件夹下(比如都在
/projects里),直接把父目录传给--logdir就行:tensorboard --logdir=/projectsTensorBoard会自动扫描所有子目录,把每个子目录当成一个独立的run,同样可以通过顶部的Run菜单切换。
补充:如果已经启动了TensorBoard,之后新增了目录或者更新了模型日志,只要刷新页面就能同步看到新内容,不用重启服务。
二、在Embedding Projector中选择不同张量
要切换不同的张量,步骤很简单:
- 确保你的每个模型目录(a1、a2)都正确保存了embedding数据和对应的配置文件(一般是
projector_config.pbtxt,可以通过TensorFlow的tf.summary.create_file_writer或者Keras的TensorBoard回调生成)。 - 打开TensorBoard并切换到Embeddings标签页。
- 在页面左侧的Run下拉菜单里,先选择你要查看的a1或a2对应的run(就是上面多目录启动里的那些标签)。
- 接着在Tensor下拉菜单里,就能看到该run下所有可用的嵌入张量,直接选择你需要的那个即可。
如果看不到预期的张量,检查一下embedding的保存路径是否和TensorBoard扫描的目录一致,或者是否在保存embedding时指定了正确的名称和元数据。
内容的提问来源于stack exchange,提问作者L.Drew
相关产品推荐
相关产品推荐

