Machine learning 如何在Keras中使用TensorFlow后端的其他GPU?

Machine learning 如何在Keras中使用TensorFlow后端的其他GPU?,machine-learning,neural-network,tensorflow,deep-learning,keras,Machine Learning,Neural Network,Tensorflow,Deep Learning,Keras,这与GPU有关,但不是使用多个GPU,我感兴趣的是指定特定模型在哪个GPU上训练或运行 我的nvidia smi输出如下所示: +------------------------------------------------------+ | NVIDIA-SMI 361.42 Driver Version: 361.42 | |-------------------------

这与GPU有关,但不是使用多个GPU,我感兴趣的是指定特定模型在哪个GPU上训练或运行

我的
nvidia smi
输出如下所示:

+------------------------------------------------------+                       
| NVIDIA-SMI 361.42     Driver Version: 361.42         |                       
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla K80           Off  | 0000:03:00.0     Off |                    0 |
| N/A   38C    P0    60W / 149W |  11354MiB / 11519MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla K80           Off  | 0000:04:00.0     Off |                    0 |
| N/A   37C    P0    71W / 149W |    224MiB / 11519MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   2  GeForce GTX 750 Ti  Off  | 0000:06:00.0      On |                  N/A |
| 40%   29C    P8     1W /  38W |    120MiB /  2047MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
这个输出当然是在没有运行任何东西的时候。问题是我不确定Keras中如何指定在哪个GPU上运行。当然,使用TensorFlow,我们可以只使用tf.device('/cpu:1'):范例执行
,但我不确定这将如何与Keras集成


谢谢

基本上有两个步骤,您必须遵循:

  • 安装启用GPU的tensorflow版本。看到这个了吗

  • Keras默认使用Theano作为后端。您需要将其更改为tensorflow

  • vi~/.keras/keras.json

    文件内容:{“epsilon”:1e-07,“floatx”:“float32”,“backend”:“theano”}

    将“theano”改为“tensorflow”

    问题是,您只需要安装支持gpu的tensorflow版本。它将自动使用您配置的gpu


    有关cuda和tensorflow的安装过程,请参见此链接。此外,要在keras.json文件中指定
    tensorflow
    作为后端,您可以使用环境变量cuda\u VISIBLE\u DEVICES()限制使用的GPU数量和/或使用特定的GPU。这里您可以指定使用哪个GPU。

    FYI,这里的FAQ没有说明tensorflow案例中的Keras API是否提供了此功能(尽管它为Theano后端提供了一种方法)。