Ich habe eine Schleife in TensorFlow der wie folgt aussieht:Wie reduziere ich den Speicherverbrauch in einer Schleife in TensorFlow?
with tf.device("/gpu:1"):
losses = []
for target, output in zip(targets, lstm_outputs):
logits = tf.matmul(W, output) + b
loss = tf.nn.sparse_softmax_cross_entropy_with_logits(logits, target)
losses.append(loss)
total_loss = tf.add_n(losses)
I eine OOM Störung erhalten, wenn die Gradienten für diese Schicht Zuteilen, da jede Matrixmultiplikation eine andere Operation in dem Graph nimmt Speicher ist. Gibt es eine Möglichkeit, zu verhindern, dass TensorFlow all diese Operationen gleichzeitig zuweist?
Ich habe bereits diese beiden EXPERIMENTAL_ACCUMULATE_N und EXPERIMENTAL_TREE vergeblich versucht. Ich werde versuchen, eine while-Schleife zu verwenden. – Maarten
Ich war in der Lage, das Problem zu lösen, indem ich von der stabilen Version zu Master in Kombination mit EXPERIMENTAL_ACCUMULATE_N aktualisiert. @mrry danke für Ihre Bemühungen und Reaktionsfähigkeit. – Maarten