Tensorboard 嵌入可视化在传递元数据时挂起(class 标签)

Tensorboard embedding visualization hanging when passed metadata (class labels)

在 tensorboard (TF v1.0.1) 中使用新的嵌入可视化功能时,我很难向它显示的点添加标签。基本上,当我尝试添加此元数据时,嵌入工具会挂起并且永远不会加载。不幸的是,目前此工具的文档非常少。

我有一个 250 class 监督 classification 正在接受训练(在 AlexNet 之类的东西上),我可以使用嵌入工具在训练期间很好地可视化最终的 fc 层 (fc8)。

但是一旦我添加一些代码来为绘图添加标签,即通过 class(而不是全蓝色)获得不同颜色的点,选项卡就永远不会加载(卡在一条消息上,说明 'loading points'永远)

我在 epoch/training 循环之前添加的代码是:

fw=open('snapshots/metadata.tsv','wt')
for i in range(0,250):
   fw.write('cat%d\n' % i)
fw.close()

tf.train.write_graph(sess.graph_def, './', 'train.pbtxt')
config = projector.ProjectorConfig()
embedding = config.embeddings.add()
embedding.tensor_name = fc8.name
embedding.metadata_path = 'snapshots/metadata.tsv'
tmp_writer = tf.summary.FileWriter(out_tb)
projector.visualize_embeddings(tmp_writer, config) 

其中 fc8 是我想要可视化的张量,之前是从默认图中获得的。所有检查点、tensorboard 事件和现在的元数据(标签)本身都被写入一个名为 'snapshots'

的子文件夹中

配置文件按原样写成 projector_config.pbtxt,包含

embeddings {
  tensor_name: "fc8/fc8:0"
  metadata_path: "snapshots/metadata.tsv"
}

如果我删除此文件,嵌入选项卡将正常加载并且不会挂起,即我会看到变暗的屏幕和带有 'loading tensors..' 等内容的白色中央小框和一个(未标记的)点云已显示。

我配置有误吗?即使我提高 GLOG 级别,我也没有将任何错误记录到我调用 tensorboard 服务器的控制台。

非常感谢任何指点。

解决了这个问题 - 文件中的张量名称不正确,应该是:

 embeddings {
    tensor_name: "fc8/weights"
    metadata_path: "snapshots/metadata.tsv"
 }

事实证明,如果您在配置文件中输入无效的 tensor_name,那么张量板会在加载嵌入选项卡时挂起/没有错误捕获(TF v1.0.1)