Tensorflow - 是否可以手动确定图表中的哪些张量转到GPU和CPU?

时间:2017-09-22 13:40:11

标签: tensorflow parallel-processing deep-learning keras tensorflow-gpu

我在Keras创建了一个使用卷积层和LSTM层的网络。

我已经读过,tensorflow无法很好地处理GPU中的LSTM层:http://minimaxir.com/2017/07/cpu-or-gpu/

事实上,我的网络在GPU中变慢了(希望它不是另一个问题)。

我希望tensorflow将所有卷积操作都抛给GPU,但是将所有LSTM操作保留在CPU中。这可能吗?

因此,考虑到我可以找到张量流图并识别其每个张量,我可以手动定义每个张量执行其操作的位置吗?

2 个答案:

答案 0 :(得分:2)

在实施this网络后,您可以(如果使用Tensorflow)尝试以下技术:

with tf.device('/cpu:0'):
    # model layers which should be run on CPU go here

答案 1 :(得分:1)