如何同时在 CPU 和 GPU 上 运行 Keras?

How to run Keras on a CPU and a GPU simultaneously?

我正在训练一个由具有不同输入的 CNN 和 RNN 组成的模型,其输出将馈送到 FCN。现在问题:

我可以 运行 CPU 上的 CNN 和 GPU 上的 RNN 并行吗?

在 Tensorflow 中:

with tf.device('/cpu:0'):
    CNN...
with tf.device('/gpu:0'):
    RNN...

您可以完全使用您发布的代码。

Select设备,定义层,select另一个设备,定义其他层:

现在,最好的性能可能会使用相反的:

with tf.device('/gpu:0'):
    CNNKerasLayers....
with tf.device('/cpu:0'):
    RNNKerasLayers....

现在,我不确定 keras 将如何处理这个问题(是否有效并行),但它很可能会让 tensorflow 解决它。