相关疑难解决方法(0)

Tensorflow:即使在关闭会话时内存泄漏?

当我意识到,即使我在for循环中关闭当前的Session,我的程序也会大量减速并且由于构造操作而导致内存泄漏,我只是尝试了一些四元数神经网络的东西.这是我的代码:

for step in xrange(0,200):#num_epochs * train_size // BATCH_SIZE):
338 
339         with tf.Session() as sess:
340 
341             offset = (BATCH_SIZE) % train_size
342             #print "Offset : %d" % offset
343 
344             batch_data = []
345             batch_labels = []
346             batch_data.append(qtrain[0][offset:(offset + BATCH_SIZE)])
347             batch_labels.append(qtrain_labels[0][offset:(offset + BATCH_SIZE)]
352             retour = sess.run(test, feed_dict={x: batch_data})
357 
358             test2 = feedForwardStep(retour, W_to_output,b_output)
367             #sess.close()
Run Code Online (Sandbox Code Playgroud)

问题似乎来自test2 = feedForward(..).我需要在执行retour一次后声明这些操作,因为retour不能是占位符(我需要遍历它).没有这一行,程序运行得非常好,速度快,没​​有内存泄漏.我无法理解为什么TensorFlow似乎试图"保存" test2即使我关闭会话......

memory-leaks memory-management neural-network tensorflow

7
推荐指数
1
解决办法
5221
查看次数