我在Keras上構建了一個神經網絡,包括多層LSTM,Permute和Dense。Keras中CPU和GPU的混合使用
看來LSTM是GPU不友好的。所以,我沒有研究和使用
With tf.device('/cpu:0'):
out = LSTM(cells)(inp)
但基於我對with
理解,with
是try...finally
塊,以確保清理代碼被執行。我不知道以下CPU/GPU混合使用代碼是否有效?他們會加快培訓速度嗎?
With tf.device('/cpu:0'):
out = LSTM(cells)(inp)
With tf.device('/gpu:0'):
out = Permute(some_shape)(out)
With tf.device('/cpu:0'):
out = LSTM(cells)(out)
With tf.device('/gpu:0'):
out = Dense(output_size)(out)
你面臨同樣的問題,因爲我......但你不會需要,爲了這個,例。重塑層非常非常輕,他們幾乎不做任何事。 –