如何使用tensorflow禁用keras中的GPU?
我想比较一下有gpu和没有gpu的代码的处理时间。我的keras后端是Tensorflow。所以它会自动使用GPU。我使用如何使用tensorflow禁用keras中的GPU?,tensorflow,keras,deep-learning,gpu,nvidia,Tensorflow,Keras,Deep Learning,Gpu,Nvidia,我想比较一下有gpu和没有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.22
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
你试过这样的东西吗
$ CUDA_VISIBLE_DEVICES='' time python mnist_mlp.py
CUDA\u可见\u设备
通常用于向CUDA隐藏一些GPU。在这里,你把它们全部隐藏起来,因为你没有放置任何可见的设备
$ CUDA_VISIBLE_DEVICES=-1 time python mnist_mlp.py
似乎是a)新方式,或者b)在Windows和Linux上都能工作的方式。你所说的
新方式是什么意思?@oak:我的意思是与Nassim Ben的答案相比。哈,好吧,所以只有b在Windows和Linux下都能工作,对吗?使用除有效gpu ID之外的任何东西都会默认为CPU,-1是一个很好的常规值,它从来都不是有效的gpu ID。另一个答案的问题可能与引号在windows上的行为不同有关CUDA\u VISIBLE\u DEVICES=-1
应始终工作。os.environ['CUDA\u VISIBLE\u DEVICES']='-1'
如果要在tensorflow导入之前设置它