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

时间:2017-04-27 01:16:14

标签: python tensorflow visualization tensorboard

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

我有一个250级的监督分类训练(像AlexNet这样的东西),我可以使用嵌入工具在训练期间可视化最终的fc层(fc8)。

但是只要我添加一些代码来为图表添加标签,即按类别(而不是全部为蓝色)获取不同颜色的点,标签永远不会加载(卡在一条消息上,说明加载点' 39;永远)

我在纪元/训练循环之前添加的代码是:

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'

的子文件夹中

配置文件正在写为projection_config.pbtxt,应该是,并包含

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

如果我删除此文件,那么嵌入标签将加载正常并且不会挂起,即我进入灰色屏幕和带加载张量的小白色中央框。'等等,并显示(未标记的)点云。

我错误配置了这个吗?即使我提高了GLOG级别,也不会在控制台中记录任何错误,我会调用张量板服务器。

非常感谢任何指示。

1 个答案:

答案 0 :(得分:4)

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

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

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