如何使用 tensorflow 在 keras 中禁用 GPU?
Posted
技术标签:
【中文标题】如何使用 tensorflow 在 keras 中禁用 GPU?【英文标题】:How to disable GPU in keras with tensorflow? 【发布时间】:2017-08-21 14:05:05 【问题描述】:我想比较使用和不使用 gpu 的代码的处理时间。我的 keras 后端是 Tensorflow。所以它会自动使用 GPU。我使用keras/examples/mnist_mlp.py
的模型进行比较。
我检查了处理时间,如下所示。那么,如何禁用我的 GPU? ~/.keras/keras.json
应该修改吗?
$ time python mnist_mlp.py
Test loss: 0.109761892007
Test accuracy: 0.9832
python mnist_mlp.py 38.22s user 3.18s system 162% cpu 25.543 total
【问题讨论】:
【参考方案1】:你尝试过这样的事情吗? :
$ CUDA_VISIBLE_DEVICES='' time python mnist_mlp.py
CUDA_VISIBLE_DEVICES
通常用于隐藏一些 GPU 到 cuda。在这里您将它们全部隐藏,因为您没有放置任何可见设备。
【讨论】:
【参考方案2】:$ CUDA_VISIBLE_DEVICES=-1 time python mnist_mlp.py
似乎是 a) 新方式,或者 b) 一种适用于 Windows 和 Linux 的方式。
【讨论】:
new way
是什么意思?
@oak:我的意思是与 Nassim Ben 的回答相比。
哈哈好吧,所以只有 b 在 windows 和 linux 下都有效,对吧?
使用除有效 gpu ID 之外的任何东西将默认为 CPU,-1 是一个很好的常规值,它永远不是有效的 gpu ID。另一个答案的问题可能与引号在 Windows 上的行为不同有关。 CUDA_VISIBLE_DEVICES=-1
应该始终有效。
os.environ['CUDA_VISIBLE_DEVICES']='-1'
如果要在tensorflow导入前设置以上是关于如何使用 tensorflow 在 keras 中禁用 GPU?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google colab 中更改 Keras/tensorflow 版本?
如何使用 Tensorflow 张量设置 Keras 层的输入?
如何在 Tensorflow 2.0 + Keras 中进行并行 GPU 推理?
如何在 keras 中使用 tensorflow ctc_batch_cost 函数?