• 103749

    文章

  • 803

    评论

  • 12

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

Keras下GPU/CPU模式切换

撸了今年阿里、腾讯和美团的面试,我有一个重要发现.......>>

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

发布了347 篇原创文章 · 获赞 635 · 访问量 266万+

695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客