摘要:前言本文基于官網(wǎng)的寫成。是自帶的一個(gè)可視化工具,是其中的一個(gè)功能,用于在二維或三維空間對(duì)高維數(shù)據(jù)進(jìn)行探索。本文使用數(shù)據(jù)講解的使用方法。
前言
本文基于TensorFlow官網(wǎng)的How-Tos寫成。
TensorBoard是TensorFlow自帶的一個(gè)可視化工具,Embeddings是其中的一個(gè)功能,用于在二維或三維空間對(duì)高維數(shù)據(jù)進(jìn)行探索。
An embedding is a map from input data to points in Euclidean space.
本文使用MNIST數(shù)據(jù)講解Embeddings的使用方法。
代碼# -*- coding: utf-8 -*- # @author: 陳水平 # @date: 2017-02-08 # @description: hello world program to set up embedding projector in TensorBoard based on MNIST # @ref: http://yann.lecun.com/exdb/mnist/, https://www.tensorflow.org/images/mnist_10k_sprite.png # import numpy as np import tensorflow as tf from tensorflow.contrib.tensorboard.plugins import projector from tensorflow.examples.tutorials.mnist import input_data import os PATH_TO_MNIST_DATA = "MNIST_data" LOG_DIR = "log" IMAGE_NUM = 10000 # Read in MNIST data by utility functions provided by TensorFlow mnist = input_data.read_data_sets(PATH_TO_MNIST_DATA, one_hot=False) # Extract target MNIST image data plot_array = mnist.test.images[:IMAGE_NUM] # shape: (n_observations, n_features) # Generate meta data np.savetxt(os.path.join(LOG_DIR, "metadata.tsv"), mnist.test.labels[:IMAGE_NUM], fmt="%d") # Download sprite image # https://www.tensorflow.org/images/mnist_10k_sprite.png, 100x100 thumbnails PATH_TO_SPRITE_IMAGE = os.path.join(LOG_DIR, "mnist_10k_sprite.png") # To visualise your embeddings, there are 3 things you need to do: # 1) Setup a 2D tensor variable(s) that holds your embedding(s) session = tf.InteractiveSession() embedding_var = tf.Variable(plot_array, name="embedding") tf.global_variables_initializer().run() # 2) Periodically save your embeddings in a LOG_DIR # Here we just save the Tensor once, so we set global_step to a fixed number saver = tf.train.Saver() saver.save(session, os.path.join(LOG_DIR, "model.ckpt"), global_step=0) # 3) Associate metadata and sprite image with your embedding # Use the same LOG_DIR where you stored your checkpoint. summary_writer = tf.summary.FileWriter(LOG_DIR) 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") # Link this tensor to its sprite image. embedding.sprite.image_path = PATH_TO_SPRITE_IMAGE embedding.sprite.single_image_dim.extend([28, 28]) # Saves a configuration file that TensorBoard will read during startup. projector.visualize_embeddings(summary_writer, config)
首先,從這里下載圖片,放到log目錄下;然后執(zhí)行上述代碼;最后,執(zhí)行下面的命令啟動(dòng)TensorBoard。
tensorboard --logdir=log
執(zhí)行后,命令行會(huì)顯示如下提示信息:
Starting TensorBoard 39 on port 6006 (You can navigate to http://xx.xxx.xx.xxx:6006)
打開瀏覽器,輸入上面的鏈接地址,點(diǎn)擊導(dǎo)航欄的EMBEDDINGS即可看到效果:
資源這篇文章對(duì)MNIST的可視化做了深入的研究,非常值得細(xì)讀。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/38413.html
摘要:現(xiàn)場(chǎng)宣布全球領(lǐng)先的深度學(xué)習(xí)開源框架正式對(duì)外發(fā)布版本,并保證的本次發(fā)布版本的接口滿足生產(chǎn)環(huán)境穩(wěn)定性要求。有趣的應(yīng)用案例皮膚癌圖像分類皮膚癌在全世界范圍內(nèi)影響深遠(yuǎn),患病人數(shù)眾多,嚴(yán)重威脅身體機(jī)能。 前言本文屬于介紹性文章,其中會(huì)介紹許多TensorFlow的新feature和summit上介紹的一些有意思的案例,文章比較長(zhǎng),可能會(huì)花費(fèi)30分鐘到一個(gè)小時(shí)Google于2017年2月16日(北京時(shí)間...
摘要:深度學(xué)習(xí)在過(guò)去的幾年里取得了許多驚人的成果,均與息息相關(guān)。機(jī)器學(xué)習(xí)進(jìn)階筆記之一安裝與入門是基于進(jìn)行研發(fā)的第二代人工智能學(xué)習(xí)系統(tǒng),被廣泛用于語(yǔ)音識(shí)別或圖像識(shí)別等多項(xiàng)機(jī)器深度學(xué)習(xí)領(lǐng)域。零基礎(chǔ)入門深度學(xué)習(xí)長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)。 多圖|入門必看:萬(wàn)字長(zhǎng)文帶你輕松了解LSTM全貌 作者 | Edwin Chen編譯 | AI100第一次接觸長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)時(shí),我驚呆了。原來(lái),LSTM是神...
閱讀 3070·2021-10-27 14:16
閱讀 2882·2021-09-24 10:33
閱讀 2291·2021-09-23 11:21
閱讀 3234·2021-09-22 15:14
閱讀 818·2019-08-30 15:55
閱讀 1681·2019-08-30 15:53
閱讀 1749·2019-08-29 11:14
閱讀 2193·2019-08-28 18:11