我在OSX 10.9.5 Mavericks上运行tensorflow 0.10.0rc0。有大约25k个训练样例,250个特征(x),15个类(y_),预测(y)是单隐层NN感知器。tensorflow - 内存泄漏?
简单培训环路下面的代码片段似乎有大量的内存泄漏(超过=〜200次迭代绿带的顺序10S的 - 带来了我的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:如果这是固定在以后的tensorflow版本,注意bazel需要优胜美地或更高,所以我不能生成我自己的.whl文件(AFAIK )来源;是夜间whl可用吗?我现在不愿被强制进入操作系统升级
编辑:我添加了测试精度计算;我不知道如何从循环中删除它,因为y需要在训练步骤后被评估 – jtlz2