学习资料
https://www.tensorflow.org/get_started/summaries_and_tensorboard
今天来看 TensorBoard 的一个内置的可视化工具 Embedding Projector
, 是个交互式的可视化,可用来分析诸如 embeddings 的高维数据。
embedding projector 将从你的 checkpoint 文件中读取 embeddings。
默认情况下,embedding projector 会用 PCA 主成分分析方法将高维数据投影到 3D 空间, 还有一种投影方法是 T-SNE。
主要就是通过3步来实现这个可视化:
1) Setup a 2D tensor that holds your embedding(s).
embedding_var = tf.Variable(....)
2) Periodically save your model variables in a checkpoint in LOG_DIR.
saver = tf.train.Saver()
saver.save(session, os.path.join(LOG_DIR, "model.ckpt"), step)
3) (Optional) Associate metadata with your embedding.
本节官方教程没有给出完整的例子,这里用 MNIST 举一个简单的例子。
1. 引入 projector,data,定义 path:
%matplotlib inline
import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
import os
from tensorflow.contrib.tensorboard.plugins import projector
from tensorflow.examples.tutorials.mnist import input_data
LOG_DIR = 'minimalsample'
NAME_TO_VISUALISE_VARIABLE = "mn