这与How to enable Keras with Theano to utilize multiple GPUs有关,但我不想使用多个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我们可以做with tf.device('/cpu:1'):
范例,但我不确定它会如何与Keras集成。
谢谢!
答案 0 :(得分:4)
除了在 keras.json 文件中指定tensorflow
作为后端之外,您还可以使用环境变量CUDA_VISIBLE_DEVICES({{来限制使用的GPU数量和/或使用特定GPU 3}})。您可以在此处指定要使用的GPU。
答案 1 :(得分:0)
基本上有两个步骤,你必须遵循:
安装启用GPU的tensorflow版本。见https://www.tensorflow.org/versions/r0.7/get_started/os_setup.html
Keras默认使用Theano作为后端。您需要将其更改为tensorflow
vi ~/.keras/keras.json
文件内容:{" epsilon":1e-07," floatx":" float32"," backend":&#34 ; theano"}
改变" theano" to" tensorflow"
问题是你只需要安装支持gpu的tensorflow版本。它会自动使用你配置的gpu。
有关cuda和tensorflow http://www.nvidia.com/object/gpu-accelerated-applications-tensorflow-installation.html
的安装程序,请参阅此链接