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

标签 python tensorflow visualization tensorboard

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

我正在训练 250 类监督分类(在 AlexNet 等上),并且我可以使用嵌入工具在训练期间很好地可视化最终的 fc 层 (fc8)。

但是一旦我添加一些代码来向绘图添加标签,即按类别获取不同颜色的点(而不是全蓝色),选项卡就永远不会加载(永远卡在一条说明“加载点”的消息上)

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

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 是我想要可视化之前从默认图中获得的张量。所有检查点、张量板事件以及现在元数据(标签)本身都被写入名为“快照”的子文件夹中

配置文件按照应有的方式被写为projector_config.pbtxt,并包含

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

如果我删除这个文件,那么嵌入选项卡将加载正常并且不会挂起,即我到达变暗的屏幕和带有“加载张量..”等的白色中央小框,并且(未标记的)点云是显示。

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

非常感谢您的指点。

最佳答案

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

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

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

关于python - Tensorboard 嵌入可视化在传递元数据(类标签)时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43647029/

相关文章:

Tensorflow:如何用张量提供占位符变量?

python-3.x - 现在正在加载 Eager TensorFlow 吗?

python - Tensorflow 为张量创建 Protobuf

python - 如何在 Keras/TensorFlow 中可视化 RNN/LSTM 梯度?

python - 将 MatplotLib 或自定义颜色图应用于 OpenCV 图像

python - 按数据帧计算分类数据 Pandas 组

python - 如何用 Python 为 neo4j 定义遍历?

python - 使用字典迭代图类

python - 如何将带有字数统计的列表转换为字典

navigation - C#的软件可视化