【问题标题】:How to disable GPU in keras with tensorflow?如何使用 tensorflow 在 keras 中禁用 GPU?
【发布时间】: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

【问题讨论】:

    标签: tensorflow keras deep-learning gpu nvidia


    【解决方案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导入前设置
      猜你喜欢
      • 2021-04-27
      • 1970-01-01
      • 2018-08-16
      • 2018-05-07
      • 2021-11-28
      • 1970-01-01
      • 2020-11-13
      • 2021-04-13
      • 1970-01-01
      相关资源
      最近更新 更多