#python #pandas #numpy #matplotlib
#python #pandas #numpy #matplotlib
Вопрос:
У меня проблема с построением графика в реальном времени. Я запускаю нейронную сеть с tensorflow и хочу видеть прогресс с помощью живого графика. Приведенный ниже код — это то, что у меня есть на данный момент.
Это настраивает график
plt.ion()
fig = plt.figure()
ax1 = fig.add_subplot(111)
line1, = ax1.plot(y_test)
line2, = ax1.plot(y_test*0.5)
plt.show()
тогда вот как я хочу проверить прогресс
if np.mod(i, 5) == 0:
pred = net.run(out, feed_dict={X: X_test})
line2.set_ydata(pred)
plt.pause(0.01)
В настоящее время я получаю пустой график и не могу понять, почему. Пожалуйста, помогите.
Комментарии:
1. Что
i
здесь?
Ответ №1:
plt.ion()
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(y_test)
ax1.plot(y_test*0.5)
plt.show()
# Presumably there should be a for loop here
for i in range(max_iter):
# Code to fit the neural net, "net" to latest batch of data
# ...
if i % 5 == 0:
pred = net.run(out, feed_dict={X: X_test})
ax1.clear()
ax1.plot(y_test)
ax1.plot(pred)
plt.pause(0.01)
Комментарии:
1. Это не решило проблему, все еще получая пустой график
2. Затем вы должны проверить, являются ли значения в
y_test
иpred
допустимыми, и являются ли они массивами 1 dim. Я попробовал это, установив, чтоpred
иy_test
являются одномерными массивами определенного размера, генерируемыми случайным образом на каждой итерации, и это работает. Вам также может потребоваться увеличить время паузы, если вы строите много точек.3. Спасибо за быстрый ответ, попробую сейчас