我只是想一些东西了四元数的神经网络,当我意识到,即使我闭上当前会话中的for循环中,我的计划大规模减慢和我所造成的OPS内存泄漏正在建设中。 这是我的代码:
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()
这个问题似乎来自test2 = feedForward(..)
我需要在执行后,这些OPS申报retour
一次,因为retour
不能是一个占位符(我需要来遍历它)。 如果没有这一行,程序运行得非常好,速度快,没有内存泄漏。 我不明白为什么看起来TensorFlow正试图“拯救” test2
,即使我关闭会话...