让theano在windows下能进行GPU并行的配置步骤
最近在implement DeepLearning.net上面的程序。对于开源的python,最头疼的就是各种package和各种configuration. 而且还是在windows下。
想要让theano在windows下能GPU并行,总结配置如下:
1. 下载CUDA,安装,重启(重要)!
2. 下载Canopy, 申请academic free lincense.
3. Canopy中下载package, 由于numpy, scipy都集成了,主要下载:pip, mingw, libpython, urllib, theano这几个
4. 在C:\Users\<User name>\ (所谓的Home,或根目录)下建立一个文件 .theanorc.txt或.theanorc, 里面复制如下内容:
[global]
device = gpu
floatX=float32 [nvcc]
flags=-LC:\Users\Sam\AppData\Local\Enthought\Canopy32\User\libs
compiler_bindir=D:\Program Files\Microsoft Visual Studio 10.0\VC\bin [blas]
ldflags = -LD:\Program Files\Enthought\Canopy32\App\appdata\canopy-1.1.0.1371.win-x86\Scripts -lmk2_core -lmk2_intel_thread -lmk2_rt
注意:由于windows下创建文件必须有文件名,这里我们用canopy创建一个文件,然后保存为.theanorc.txt或.theanorc在根目录下(C:\Users\<User name>\).
5. 测试theano环境。
import theano
如果不报错,恭喜你已经完成了测试第一步。
6. 运行下面程序。(来自http://deeplearning.net)
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 = 10000 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' % iters, t1 - t0, 'seconds'
print 'Result is', 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'
这时,CUDA的nvcc不断的出现,说明我们的GPU运行已经调试可运行。之后就是本段程序的运行。如果还是CPU,时间大约在20秒左右(跟机器配置相关,我的是E8400);但如果是GPU,时间大约是0.6秒左右(我的是9800GT)。可见GPU的速度不是一般的快。
还有几个例子下面一起给大家:
数据:MNIST http://deeplearning.net/data/mnist/mnist.pkl.gz
模型:Logistic Regression using Stochastic Gradient Descent http://deeplearning.net/tutorial/code/logistic_sgd.py
Multilayer Perceptron http://deeplearning.net/tutorial/code/mlp.py
Restricted Boltzmann Machine http://deeplearning.net/tutorial/code/rbm.py
Deep Belief Network http://deeplearning.net/tutorial/code/DBN.py
PS1:上面模型的代码中注意改data的路径,这样就可以直接运行了!
PS2:记得把utils.py(http://deeplearning.net/tutorial/code/utils.py)文件拷贝到一个系统环境目录(如C:\Program Files\Enthought\Canopy32\App\appdata\canopy-1.1.0.1371.win-x86\Lib\site-packages)下。
让theano在windows下能进行GPU并行的配置步骤的更多相关文章
- 【深度学习】在linux和windows下anaconda+pycharm+tensorflow+cuda的配置
在linux和windows下anaconda+pycharm+tensorflow+cuda的配置 在linux和windows下anaconda+pycharm+tensorflow+cuda的配 ...
- Windows下Nginx Virtual Host多站点配置详解
Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 window ...
- 在windows下用eclipse + pydev插件来配置python的开发环境
在windows下用eclipse + pydev插件来配置python的开发环境 一.安装 python 可以到网上下个Windows版的python,官网为:https://www.python. ...
- Windows下的Anaconda+OpenCV的环境配置
Windows下的Anaconda+OpenCV的环境配置
- Windows下OpenFOAM开发及使用环境配置指南 (2)【转载】
转载自:http://openfoam.blog.sohu.com/158751915.html *************************************************** ...
- Windows下OpenFOAM开发及使用环境配置指南 (1)【转载】
转载自:http://openfoam.blog.sohu.com/158614863.html *************************************************** ...
- windows下安装node.js及环境配置、部署项目
windows下安装node.js及环境配置.部署项目 一.总结 一句话总结: 安装nodejs软件:就像普普通通的的软件那样安装 配置nodejs安装的全局模块的环境变量 并且安装cnpm(比如cn ...
- Windows+Python+anaconda机器学习安装及环境配置步骤
Windows+Python+anaconda机器学习安装及环境配置步骤 1. 下载安装python3.6以上版本(包含pip,不用自己安装)2. 直接下载安装pycharm安装包(用于编写pytho ...
- Windows下如何采用微软的Caffe配置Faster R-CNN
前言 比较简单的一篇博客.https://github.com/microsoft/caffe 微软的Caffe以在Windows下编译简单而受到了很多人的喜爱(包括我),只用改改prop配置然后无脑 ...
随机推荐
- jeecg中获取用户拥有的角色的数据权限
String roles1=""; String sql=""; //1.获取用户 TSUser user = ResourceUtil.getSessionU ...
- java+断点续传
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所 ...
- JavaScript 异步和单线程
JavaScript语言本身是单线程的,所以它自身不可能是异步.所谓单线程,就必然意味着:所有任务需要排队,前一个任务结束,才会执行后一个任务. 但js的宿主环境(比如浏览器,Node)是多线程的.宿 ...
- CSS 自适应技巧
DIV的内容垂直居中 不再MARGINT-TOP多少 来居中显示 display:table-cell; #block-1{ width:100%; height:80px; display:tabl ...
- 一个可以让vsftpd启动系统用户登陆ftp的例子
编辑 /etc/vsftpd.conf 如下: listen=YES anonymous_enable=NO local_enable=YES check_shell=NO write_enable= ...
- 【ARTS】01_29_左耳听风-201900527~201900602
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- CentOS7.5安装GitLab及汉化
一.GitLab英文版安装 1.下载gitlab安装包,然后安装 wget --content-disposition https://packages.gitlab.com/gitlab/gitla ...
- 【ARM-Linux开发】cmem模块/DVSDK2.0
1. CMEM--高速缓存一致性问题的解决多核设计中,共享的二级高速缓存之间数据可能不一致,不同CPU内核的私有高速缓存也可能存在数据不一致,称为高速缓存的一致性问题.解决一致性问题的方法从整体上分可 ...
- 最新 朗玛信息java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.朗玛信息等10家互联网公司的校招Offer,因为某些自身原因最终选择了朗玛信息.6.7月主要是做系统复习.项目复盘.Leet ...
- 数据库连接池——C3P0&Druid(快速入门)
数据库连接池--C3P0&Druid (一) 数据库连接池 每一个事物都有其存在的意义,在初学jdbc的时候,我们建立数据库连接对象后,会对其进行释放,但是数据库连接的建立和关闭是非常消耗资源 ...