Я запускаю shadoworflow 0.10.0rc0 на OSX 10.9.5 Mavericks.Тензорный поток - утечка памяти?
Есть примерные примеры обучения в 25 000, 250 функций (x), 15 классов (y_), а предсказание (y) - это персептрон NN с одним скрытым слоем.
Следующий фрагмент простого цикла обучения, кажется, массивная утечка памяти (порядка 10 секунд ГЗА над = ~ 200 итераций - валит мой MBP :():
import tensorflow as tf
# Initialize placeholders and variables etc...
...
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(y,y_))
train_step = tf.train.GradientDescentOptimizer(lrate).minimize(cost)
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
for i in range(niter):
# Train
_,c=sess.run([train_step,cost])
correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(y_,1))
sess.run(correct_prediction)
accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))
print sess.run(accuracy)
# EDIT: Calculate test error
ytest=sess.run(y[itrain:itrain+itest,:])
ytest_=sess.run(y_[itrain:itrain+itest,:])
test_prediction = tf.equal(tf.argmax(ytest,1), tf.argmax(ytest_,1))
test_accuracy=tf.reduce_mean(tf.cast(test_prediction,tf.float32))
print sess.run(test_accuracy)
sess.close()
я делаю что-то очевидно, неправильно, или это на случай ошибки? Спасибо!
PS: Если это исправлено в более поздней сборке тензорного потока, обратите внимание, что для bazel требуется Yosemite или выше, поэтому я не могу создать свой собственный .whl-файл (AFAIK) из источника, есть ночной whl? Я бы предпочел не быть вынужденным в обновление ОС прямо сейчас.
Edit: я добавил расчет точности испытаний; Я не уверен, как удалить это из цикла, так как y должен быть оценен после этапа обучения – jtlz2