最近在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并行的配置步骤的更多相关文章

  1. 【深度学习】在linux和windows下anaconda+pycharm+tensorflow+cuda的配置

    在linux和windows下anaconda+pycharm+tensorflow+cuda的配置 在linux和windows下anaconda+pycharm+tensorflow+cuda的配 ...

  2. Windows下Nginx Virtual Host多站点配置详解

    Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 window ...

  3. 在windows下用eclipse + pydev插件来配置python的开发环境

    在windows下用eclipse + pydev插件来配置python的开发环境 一.安装 python 可以到网上下个Windows版的python,官网为:https://www.python. ...

  4. Windows下的Anaconda+OpenCV的环境配置

    Windows下的Anaconda+OpenCV的环境配置

  5. Windows下OpenFOAM开发及使用环境配置指南 (2)【转载】

    转载自:http://openfoam.blog.sohu.com/158751915.html *************************************************** ...

  6. Windows下OpenFOAM开发及使用环境配置指南 (1)【转载】

    转载自:http://openfoam.blog.sohu.com/158614863.html *************************************************** ...

  7. windows下安装node.js及环境配置、部署项目

    windows下安装node.js及环境配置.部署项目 一.总结 一句话总结: 安装nodejs软件:就像普普通通的的软件那样安装 配置nodejs安装的全局模块的环境变量 并且安装cnpm(比如cn ...

  8. Windows+Python+anaconda机器学习安装及环境配置步骤

    Windows+Python+anaconda机器学习安装及环境配置步骤 1. 下载安装python3.6以上版本(包含pip,不用自己安装)2. 直接下载安装pycharm安装包(用于编写pytho ...

  9. Windows下如何采用微软的Caffe配置Faster R-CNN

    前言 比较简单的一篇博客.https://github.com/microsoft/caffe 微软的Caffe以在Windows下编译简单而受到了很多人的喜爱(包括我),只用改改prop配置然后无脑 ...

随机推荐

  1. smarty建的mvc环境

    ================================搭建MVC结构================================基于MVC,解耦合 (高内聚,低耦合),优点:易维护.易扩 ...

  2. JMX简介及was上的使用

    参考文章:https://www.ibm.com/developerworks/cn/websphere/library/techarticles/0908_sunyan_jmxdeploy/inde ...

  3. 浏览器与NodeJS环境 eventloop异同详解(转)

    结论:浏览器中是一个宏任务,所有微任务,一个宏任务,所有微任务...           NodeJS中,一种宏任务队列所有任务,所有微任务,一种宏任务队列所有任务,所有微任务... ┌─────── ...

  4. 使用rsync备份数据

    (1).实验环境与目标 源主机:youxi1 192.168.5.101 目标主机:youxi2 192.168.5.102 目标:将源主机youxi1的数据备份到youxi2上. rsync是C/S ...

  5. 新maven项目创建JSP出现小红叉报错 javax.servlet.http.HttpServlet not found

    展示: 右击项目----build path -----Configure Build Path 进入到窗口 libraries -------add libraries ------  server ...

  6. React Native使用code-push实现热更新

    这里就不记录了,下面的传送门介绍的通俗易懂,很详细,一步一步很容易实现成功. http://www.jianshu.com/p/f8689ccf0007

  7. 不同Json工具对空串和NULL的序列号处理:net.sf.json 和 fastjson

    目录 1.测试代码 2.测试结果: 3.总结: 4.注:Maven中引入net.sf.json的方式 net.sf.json 和 fastjson 对于空串和NULL的处理: 1.测试代码 packa ...

  8. A+B Problem Plus and A-B Problem Plus and A*B Problem Plus

    //we have defined the necessary header files here for this problem. //If additional header files are ...

  9. poj2947(高斯消元法解同余方程组)

    题目链接:https://vjudge.net/problem/POJ-2065 题意:题目看着较复杂,实际上就是给了n个同余方程,解n个未知数. 思路:套高斯消元法的模板即可. AC代码: #inc ...

  10. SQL Server事务(二)

    事务的四大特性: 1.原子性:原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能 ...