在哪里可以找到有关Tensorboard中包含的嵌入式投影仪的文档? 这里有一些参考,但没有关于如何使用它的分步示例/教程.
小智 57
据我所知,这是关于在TensorFlow网站上嵌入可视化的唯一文档.虽然代码片段对于初次使用的用户可能不是很有启发性,但这里是一个示例用法:
import os
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
LOG_DIR = 'logs'
mnist = input_data.read_data_sets('MNIST_data')
images = tf.Variable(mnist.test.images, name='images')
with tf.Session() as sess:
saver = tf.train.Saver([images])
sess.run(images.initializer)
saver.save(sess, os.path.join(LOG_DIR, 'images.ckpt'))
Run Code Online (Sandbox Code Playgroud)
首先,我们创建一个TensoFlow变量(images),然后使用它保存它tf.train.Saver.执行代码后,我们可以通过发出tensorboard --logdir=logs命令并localhost:6006在浏览器中打开来启动TensorBoard .
但是,这种可视化不是很有用,因为我们没有看到每个数据点所属的不同类.为了区分每个类,应该提供一些元数据:
import os
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
from tensorflow.contrib.tensorboard.plugins import projector
LOG_DIR = 'logs'
metadata = os.path.join(LOG_DIR, 'metadata.tsv')
mnist = input_data.read_data_sets('MNIST_data')
images = tf.Variable(mnist.test.images, name='images')
with open(metadata, 'w') as metadata_file:
for row in mnist.test.labels:
metadata_file.write('%d\n' % row)
with tf.Session() as sess:
saver = tf.train.Saver([images])
sess.run(images.initializer)
saver.save(sess, os.path.join(LOG_DIR, 'images.ckpt'))
config = projector.ProjectorConfig()
# One can add multiple embeddings.
embedding = config.embeddings.add()
embedding.tensor_name = images.name
# Link this tensor to its metadata file (e.g. labels).
embedding.metadata_path = metadata
# Saves a config file that TensorBoard will read during startup.
projector.visualize_embeddings(tf.summary.FileWriter(LOG_DIR), config)
Run Code Online (Sandbox Code Playgroud)
这给了我们:
Kor*_*ich 18
可悲的是,我找不到更全面的文档.下面我收集所有相关资源:
PS:谢谢你的支持.现在我可以发布所有链接.
@Ehsan
您的解释很好。这里的关键是必须在调用saver.save(...)之前初始化每个变量。
@Everyone
另外,张量板嵌入只是可视化已保存Variable类的实例。它不在乎是文字还是图像还是其他任何东西。
官方文档https://www.tensorflow.org/get_started/embedding_viz并未指出它是矩阵的方向可视化,我认为这引起了很多混乱。
也许您想知道将矩阵可视化意味着什么。矩阵可以解释为空间中点的集合。
如果我有一个形状为(100,200)的矩阵,则可以将其解释为100个点的集合,其中每个点的尺寸为200。换句话说,在200维空间中为100点。
在word2vec的情况下,我们有100个单词,其中每个单词都由200个长度的向量表示。Tensorboard嵌入仅使用PCA或T-SNE来可视化此集合(矩阵)。
因此,您可以遍历任何随机矩阵。如果您浏览一张形状为(1080,1920)的图像,它将使该图像的每一行可视化,就好像它是一个单点一样。
话虽如此,您可以通过简单地保存然后可视化任何Variable类实例的嵌入
saver = tf.train.Saver([a, _list, of, wanted, variables])
...some code you may or may not have...
saver.save(sess, os.path.join(LOG_DIR, 'filename.ckpt'))
稍后,我将尝试制作详细的教程。
| 归档时间: |
|
| 查看次数: |
23931 次 |
| 最近记录: |