2016-12-28 54 views
5

今、私はテンソルフローを研究しています。 しかし、テンソルボードを使ってドットグラフを描くことはできません。テンソルボードを使って散布図を作る方法 - テンソルフロー

私はトレーニングのためのサンプルデータを持っている場合は、その

train_X = numpy.asarray([3.3, 4.4, 5.5, 6.71, 6.93, 4.168, 9.779]) 
train_Y = numpy.asarray([1.7, 2.76, 2.09, 3.19, 1.694, 1.573, 3.366]) 

のように私はtensorboardを使用して散布図を示したいと思います。 私は "import matplotlib.pyplot plt"がそれを行うことができます知っています。 しかし、私はちょうどコンソール(パテ)を使用することができます。このメソッドを使用することはできません。

私はテンソルボードを使った散布図のようなドットグラフを見ることができます。

誰でも助けてくれますか?

答えて

0
本当に

ない完全な答えは、しかし、私は何をすることはありません表示用のインポートmatplotlibのである:

import matplotlib as mpl 
mpl.use('Agg') # No display 
import matplotlib.pyplot as plt 

そして、バッファに私のプロットを描画し、PNGとしてそれを保存します。

# setting up the necessary tensors: 
plot_buf_ph = tf.placeholder(tf.string) 
image = tf.image.decode_png(plot_buf_ph, channels=4) 
image = tf.expand_dims(image, 0) # make it batched 
plot_image_summary = tf.summary.image('some_name', image, max_outputs=1) 

# later, to make the plot: 
plot_buf = get_plot_buf() 
plot_image_summary_ = session.run(
     plot_image_summary, 
     feed_dict={plot_buf_ph: plot_buf.getvalue()}) 
summary_writer.add_summary(plot_image_summary_, global_step=iteration) 

get_plot_bufは、

def get_plot_buf(self): 
    plt.figure() 

    # ... draw plot here ... 

    buf = io.BytesIO() 
    plt.savefig(buf, format='png') 
    plt.close() 

    buf.seek(0) 
    return buf 
です。
関連する問題