Tensorflow: pérdida de memoria incluso al cerrar sesión?

Estaba probando algunas cosas para una red neuronal cuaterniónica cuando me di cuenta de que, incluso si cierro mi sesión actual en un bucle for, mi programa se ralentiza masivamente y se produce una pérdida de memoria causada por la construcción de operaciones. Este es mi código:

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()

El problema parece provenir detest2 = feedForward(..). Necesito declarar estas operaciones después de ejecutarretour una vez, porqueretour no puede ser un marcador de posición (necesito iterar a través de él). Sin esta línea, el programa funciona muy bien, rápido y sin pérdida de memoria. No puedo entender por qué parece que TensorFlow está tratando de "guardar"test2 incluso si cierro la sesión ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta