无法打开TensorBoard以便仅从矢量数据嵌入Google Cloud DataLab中的可视化

时间:2019-04-23 14:37:46

标签: python tensorflow tensorboard google-cloud-datalab

我计划在 TensorBoard Projector 从Google Cloud DataLab的笔记本中获取准备好的矢量数据(未经TensorFlow训练的矢量数据)(而不是在网络浏览器中上传TSV文件)。

我已经尝试过this tutorial中提供的代码:

from tensorflow.contrib.tensorboard.plugins import projector

LOG_DIR='test_log'

# Create randomly initialized embedding weights which will be trained.
N = 10000 # Number of items (vocab size).
D = 200 # Dimensionality of the embedding.
embedding_var = tf.Variable(tf.random_normal([N,D]), name='word_embedding')

# Format: tensorflow/tensorboard/plugins/projector/projector_config.proto
config = projector.ProjectorConfig()

# You can add multiple embeddings. Here we add only one.
embedding = config.embeddings.add()
embedding.tensor_name = embedding_var.name
# Link this tensor to its metadata file (e.g. labels).
# embedding.metadata_path = os.path.join(LOG_DIR, 'metadata.tsv')

# Use the same LOG_DIR where you stored your checkpoint.
summary_writer = tf.summary.FileWriter(LOG_DIR)

# The next line writes a projector_config.pbtxt in the LOG_DIR. TensorBoard will
# read this file during startup.
projector.visualize_embeddings(summary_writer, config)

LOG_DIR是一个空文件夹,与笔记本文件位于同一文件夹中。

由于嵌入可视化不需要元数据,因此我没有设置embedding.metadata_path

然后我运行代码:

from google.datalab.ml import TensorBoard as tb
tb.start('test_log')

可以打开TensorBoard的新页面,但是它显示:

  

未找到检查点。

当我切换到投影仪视图时。

但是如上面的代码所示,数据是随机创建的,因此不应有任何检查点文件。

此外,在下一步,我需要使用自己的矢量数据进行嵌入可视化,而矢量数据未经Tensorflow训练,并且没有任何检查点文件。

在网络浏览器中使用Projector时,仅需要矢量数据的TSV文件,而无需任何检查点文件。

问题是:只有矢量数据集,才能在Google Cloud DataLab的TensorBoard Projector中进行可视化嵌入的正确方法是什么?

谢谢。

1 个答案:

答案 0 :(得分:0)

查看该教程,您需要运行代码以定期保存检查点。这些应该是在张量板上显示信息的基础。

saver = tf.train.Saver()
saver.save(session, os.path.join(LOG_DIR, "model.ckpt"), step)