我计划在
TensorBoard Projector
从Google Cloud DataLab的笔记本中获取准备好的矢量数据(未经TensorFlow训练的矢量数据)(而不是在Web浏览器中上传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训练,并且没有任何检查点文件。
在Web浏览器中使用Projector时,仅需要矢量数据的TSV文件,而不需要任何检查点文件。
所以问题是:只有矢量数据集,才能在Google Cloud DataLab的TensorBoard Projector中进行可视化嵌入的正确方法是什么?
谢谢。
最佳答案
查看该教程,您需要运行代码以定期保存检查点。这些应该是在张量板上显示信息的基础。
saver = tf.train.Saver()
saver.save(session, os.path.join(LOG_DIR, "model.ckpt"), step)
关于python - 无法打开TensorBoard以仅从矢量数据嵌入Google Cloud DataLab中的可视化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55813661/