2017-07-10 10 views
0

異なるテンソル変数、つまり異なる埋め込み変数に基づいてデータを視覚化したいと思います。言い換えれば、私がする必要があるのは次のようなものです:Tensorflowで複数の埋め込みを可視化する

私は100次元のベクトル(画像の特徴/埋め込み)を5つの異なる変数に格納する必要があります。次に、5つの異なる変数に基づいてデータを視覚化する必要があります。つまり、最初の20個の機能に基づいてデータを視覚化する必要があります。

https://www.tensorflow.org/get_started/embedding_vizの埋め込みビジュアリゼーションチュートリアルでは、複数の埋め込みを追加します。これは私が探しているものです。

テンソルフローでこれを行う方法は?

ご迷惑をおかけして申し訳ありません。

答えて

0

私は100次元の埋め込みを100の異なる変数に分割しようとしていたので、それがうまくいかなかったのです。そして、それはうまくいかなかった。だから私は埋め込みを5つの異なる部分に分けたとき、つまりそれらを5つの異なる変数に分割すると、うまくいったのです。以下は私のコードです:

import numpy as np 
import tensorflow as tf 
from tensorflow.contrib.tensorboard.plugins import projector 

LOG_DIR = \ 
    'C:/Users/user/PycharmProjects/VariationalAutoEncoder/' \ 
    'Tensorflow-DeconvNet-Segmentation/Embeddings/features_images.ckpt' 

feature_vectors = np.loadtxt('features.txt') 
feature_vectors = feature_vectors[:5329] 

print("feature_vectors_shape:",feature_vectors.shape) 

sub_features = [] 
for i in range(20): 
    features = tf.Variable(feature_vectors[:, 5 * i: 5 * (i + 1)], name=('features' + str(i))) 
    sub_features.append(features) 

with tf.Session() as sess: 

    saver = tf.train.Saver() 
    sess.run(tf.global_variables_initializer()) 
    saver.save(sess, LOG_DIR) 

    config = projector.ProjectorConfig() 
    for i in range(20): 
     embedding = config.embeddings.add() 
     embedding.tensor_name = sub_features[i].name 

     embedding.sprite.image_path = \ 
      'C:/Users/user/PycharmProjects/VariationalAutoEncoder/Tensorflow-DeconvNet-Segmentation/master.jpg' 
     embedding.sprite.single_image_dim.extend([112, 112]) 

    # Saves a config file that TensorBoard will read during startup. 
    projector.visualize_embeddings(tf.summary.FileWriter(LOG_DIR), config) 
関連する問題