Ist es möglich, die Ausgabe einer Operation tf.scan
zu verwenden und sie direkt an eine andere GPU zu streamen, sodass zwei gestapelte RNNs parallel auf zwei GPUs laufen? Etwas wie das:
Wird sich TensorFlow automatisch um diese Optimierung kümmern oder blockiert es den Graphenfluss, bis die Liste ys1
abgeschlossen ist.
Unglücklicherweise hat tf.scan eine "Grenze" am Ausgang und alle Iterationen müssen abgeschlossen sein, bevor der Ausgangstensor von den nächsten Operationen gelesen werden kann. Sie können jedoch die verschiedenen Ebenen Ihres lstm-Stacks auf verschiedenen GPUs ausführen und Frame-Parallelität innerhalb eines Scans erzielen. Schreiben Sie Ihre eigene Version von MultiRNNCell, um für jede lstm-Ebene separate Geräte zu verwenden.
Wahrscheinlich möchten Sie auch tf.nn.dynamic_rnn statt scannen.
Tags und Links tensorflow parallel-processing recurrent-neural-network