2016-12-28 5 views
5

сейчас, я изучаю тензор. но, я не могу нарисовать граф точек с помощью тензора.как сделать разброс графики с использованием тензометрической системы - tensorflow

, если у меня есть образец данных для обучения, как этот

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 as 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