在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级别,也不会在控制台中记录任何错误,我会调用张量板服务器。
非常感谢任何指示。
答案 0 :(得分:4)
解决了这个问题 - 文件中的张量名称不正确,应该是:
embeddings {
tensor_name: "fc8/weights"
metadata_path: "snapshots/metadata.tsv"
}
事实证明,如果在配置文件中放置了无效的tensor_name,那么张量板只会在加载嵌入选项卡时挂起/没有错误捕获(TF v1.0.1)