Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import tensorflow as tf
- from tensorflow.contrib.tensorboard.plugins import projector
- def main(save_path, vectors, metadata):
- """
- :param save_path: str, dir to save results
- :param vectors: 2D ndarray, axis 0 is samples, axis 1 is data
- :param metadata: pandas dataframe with metadata
- """
- os.makedirs(save_path, exist_ok=True)
- metadata_path = os.path.join(save_path, 'metadata.tsv')
- images = tf.Variable(vectors, name='data')
- metadata.to_csv(metadata_path, sep='\t', index=False)
- with tf.Session() as sess:
- saver = tf.train.Saver([images])
- sess.run(images.initializer)
- saver.save(sess, os.path.join(save_path, 'images.ckpt'))
- config = projector.ProjectorConfig()
- embedding = config.embeddings.add()
- embedding.tensor_name = images.name
- embedding.metadata_path = os.path.basename(metadata_path)
- projector.visualize_embeddings(tf.summary.FileWriter(save_path), config)
- def demo():
- import pandas as pd
- import numpy as np
- vectors = np.random.randn(5, 100)
- metadata = pd.DataFrame(np.random.randn(5, 2), columns=['label1', 'label2'])
- main('demo', vectors, metadata)
- demo()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement