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 ...