tf.scan
işleminin çıktısını alıp doğrudan iki farklı GPU üzerinde iki istifli RNN'yi etkin bir şekilde çalıştıran farklı bir GPU'ya aktarabilir miyiz? Böyle bir şey:TensorFlow'da çoklu GPU'lar üzerinde yığılmış RNN'leri paralel hale getirmenin bir yolu var mı?
cell1 = tf.nn.rnn_cell.MultiRNNCell(..)
cell2 = tf.nn.rnn_cell.MultiRNNCell(..)
with tf.device("/gpu:0"):
ys1 = tf.scan(lambda a, x: cell1(x, a[1]), inputs,
initializer=(tf.zeros([batch_size, state_size]), init_state))
with tf.device("/gpu:1"):
ys2 = tf.scan(lambda a, x: cell2(x, a[1]), ys1,
initializer=(tf.zeros([batch_size, state_size]), init_state))
otomatik TensorFlow o optimizasyon bak yoksa o ys1
kesinleşmiş listede kadar grafik akışını engeller olacaktır.
Bence parti paralelliği, – titus
modeline paralel olarak daha hızlı olacaktır, bu sizin sorunuza cevap vermez, ancak burada bir https://github.com/tensorflow arıyorsanız veri paralelliğini nasıl yapacağınıza dair bir örnek niteliğindedir /tensorflow/blob/master/tensorflow/models/image/cifar10/cifar10_multi_gpu_train.py – Julius
RNN'yi bir sonlandırma bayrağıyla açmayı düşünün mü? –