Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. import os
  2.  
  3. import tensorflow as tf
  4. from tensorflow.contrib.tensorboard.plugins import projector
  5.  
  6.  
  7. def main(save_path, vectors, metadata):
  8. """
  9. :param save_path: str, dir to save results
  10. :param vectors: 2D ndarray, axis 0 is samples, axis 1 is data
  11. :param metadata: pandas dataframe with metadata
  12. """
  13. os.makedirs(save_path, exist_ok=True)
  14. metadata_path = os.path.join(save_path, 'metadata.tsv')
  15. images = tf.Variable(vectors, name='data')
  16. metadata.to_csv(metadata_path, sep='\t', index=False)
  17. with tf.Session() as sess:
  18. saver = tf.train.Saver([images])
  19. sess.run(images.initializer)
  20. saver.save(sess, os.path.join(save_path, 'images.ckpt'))
  21. config = projector.ProjectorConfig()
  22. embedding = config.embeddings.add()
  23. embedding.tensor_name = images.name
  24. embedding.metadata_path = os.path.basename(metadata_path)
  25. projector.visualize_embeddings(tf.summary.FileWriter(save_path), config)
  26.  
  27. def demo():
  28. import pandas as pd
  29. import numpy as np
  30. vectors = np.random.randn(5, 100)
  31. metadata = pd.DataFrame(np.random.randn(5, 2), columns=['label1', 'label2'])
  32. main('demo', vectors, metadata)
  33.  
  34. demo()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement