Keras下GPU/CPU模式切换

来源:互联网 发布:淘宝装修软件破解版 编辑:程序博客网 时间:2024/06/06 00:02

1 确保环境

确保已经正确安装了keras, tensorflow/theano, cuda

在MacOS下面安装CUDA请参考:

mac osx/linux下如何将keras运行在GPU上

use cuda with macos

Ubuntu下面安装CUDA请参考:

配置深度学习环境的最后一步

2 切换gpu

来自官方的介绍How do I use keras with gpu

If you are running on the TensorFlow backend, your code will automatically run on GPU if any available GPU is detected. If you are running on the Theano backend, you can use one of the following methods:

Method 1: use Theano flags.

THEANO_FLAGS=device=gpu,floatX=float32 Python my_keras_script.py
The name ‘gpu’ might have to be changed depending on your device’s identifier (e.g. gpu0, gpu1, etc).

Method 2: set up your .theanorc: Instructions

sudo vim ~/.theanorc

add these content
[global]
device=gpu
floatX=float32

Method 3: manually set theano.config.device, theano.config.floatX at the beginning of your code:

import theano
theano.config.device = ‘gpu’
theano.config.floatX = ‘float32’

使用下面这个脚本来验证是否启动GPU:

from theano import function, config, shared, sandbox  import theano.tensor as T  import numpy  import time  vlen = 10 * 30 * 768  # 10 x #cores x # threads per core  iters = 1000  rng = numpy.random.RandomState(22)  x = shared(numpy.asarray(rng.rand(vlen), config.floatX))  f = function([], T.exp(x))  print(f.maker.fgraph.toposort())  t0 = time.time()  for i in xrange(iters):      r = f()  t1 = time.time()  print("Looping %d times took %f seconds" % (iters, t1 - t0))  print("Result is %s" % (r,))  if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):      print('Used the cpu')  else:      print('Used the gpu')


感谢超级杰哥

http://blog.csdn.net/autoliuweijie/article/details/53157169

0 0
原创粉丝点击