64位Win7下安装并配置Python3的深度学习库:Theano

时间:2021-02-08 09:41:08

  

 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/)

  这两天在安装Python的深度学习库:Theano。尝试了好多遍,CMake、MinGW、BLAS、APLACK等等都装了试着自己编译,网上教程也搜了一大堆,但都没成功。昨晚回家清理干净电脑,又小心翼翼地装了一遍,成功,今天来公司又装了一遍,也成功,现把步骤记录如下:

  (注:本步骤适用于WIN7 64位操作系统,Python版本为3.4.3 64bit)

  1. 请将电脑清理干净。包括之前装的MinGW、Python等的环境变量。

  2. 安装:Microsoft Windows SDK for Windows 7 and .NET Framework 4。链接: http://pan.baidu.com/s/1o6uYbTC 密码: iy4c

  3. 安装:CUDA5.5。链接: http://pan.baidu.com/s/1bnuE4z1 密码: p9r4

  4. 安装:GCC。链接: http://pan.baidu.com/s/1jGou7MQ 密码: zvsx

    (注意:安装的时候,勾选安装“openmp”,不要勾选“add to PATH”)

    64位Win7下安装并配置Python3的深度学习库:Theano

  

  5. 安装完GCC后,把“D:\TDM-GCC-64\bin”和“D:\TDM-GCC-64\x86_64-w64-mingw32”加入环境变量。(注意:我这里是装在D盘的,大家根据自己的安装路径更改哦)

  6. 安装WinPython。如果使用原生Python的话,还要安装BLAS(基础线性代数程序集),自己安装实在太麻烦了,之所以选用WinPython发行包是因为它可以自己链接MKL库,就不用我们自己编译安装BLAS了,而且自带了诸如cxfreeze、numpy、scipy、nltk、PyQt4等几十个常用的库。链接: http://pan.baidu.com/s/1kTimVIJ 密码: yc78

  检验numpy等库是否使用了blas加速,可以在python中输入:

import numpy
id(numpy.dot) == id(numpy.core.multiarray.dot)

  如果结果是:False,则表明实现了BLAS加速。

  

  7. 创建GCC链接库。cmd下cd到安装WinPython的磁盘根目录,执行:

gendef WinPython-64bit-3.4.3.2\python-3.4..amd64\python34.dll

dlltool --dllname python34.dll --def python34.def --output-lib WinPython-64bit-3.4.3.2\python-3.4..amd64\libs\libpython34.dll.a

  

  8. 安装Theano。官方推荐用git安装,我试过了,还是自己手动安装吧…把下载的“Theano-0.7.0-py3-none-any.whl”文件放到“\WinPython-64bit-3.4.3.2\python-3.4.3.amd64\Lib\site-packages”下,执行WinPython目录下的"WinPython Command Prompt.exe",cd到site-packages目录,输入:pip install Theano-0.7.0-py3-none-any.whl。

  链接: http://pan.baidu.com/s/1dDvWuGD 密码: nye6

  

  # 2015.05.20更新:

  # 推荐大家使用开发版的theano,官方解释是修复了海量BUG…

  # 先下载git for windows, 链接: http://pan.baidu.com/s/1o6omEs6 密码: ayi6

  # 然后进入site-packages文件夹,右键:Git Bash Here,输入:git clone https://github.com/Theano/Theano.git

  # 然后切到theano文件夹里安装一下即可:python setup.py install

  9. 配置Theano。在WinPython目录下的settings文件夹内创建一个文件“.theanorc.txt”,在里面输入:

[global]
floatX = float32
device = gpu [cuda]
root = D:\cuda5.5\bin

    (注意:这里的cuda目录根据你的安装路径自行调整。)

  10. 重启电脑。(重要)

  11. 测试是否安装成功。打开IDLE,键入官方的测试代码(官方的代码是基于Python2写的,我已经改成了Python3可执行的代码):

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([], sandbox.cuda.basic_ops.gpu_from_host(T.exp(x)))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
r = f()
t1 = time.time()
print('Looping %d times took' % iters, t1 - t0, 'seconds')
print('Result is', r)
print('Numpy result is', numpy.asarray(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')

  如果成功的话,会显示类似下面的信息:

>>>
Using gpu device 0: GeForce 605
[GpuElemwise{exp,no_inplace}(<CudaNdarrayType(float32, vector)>)]
Looping 1000 times took 0.48799991607666016 seconds
Result is <CudaNdarray object at 0x0000000006805F70>
Numpy result is [ 1.23178029 1.61879349 1.52278066 ..., 2.20771813 2.29967761
1.62323296]
Used the gpu

  嗯…公司电脑显卡是Geforce 605……

  这样就大功告成了,我自己在摸索安装时,遇到了各种错误信息,大家有碰到什么问题可以留言,或许我知道如何解决……

64位Win7下安装并配置Python3的深度学习库:Theano的更多相关文章

  1. 64位Win7下安装与配置PHP环境【Apache&plus;PHP&plus;MySQL】

    [软件下载] 本安装实例所使用安装文件如图所示: 其中,64位版本的MySQL安装文件mysql-5.5.33-winx64.msi,可直接从官网下载,下载地址:http://dev.mysql.co ...

  2. 32位Win7下安装与配置PHP环境(一)

    运行PHP网站,主要需要安装.配置三个软件,Apache.PHP和MySQL.如果需要编辑调试PHP程序,还要安装一个编辑调试软件. 一. Apache Apache是和IIS类似的一个软件,是运行在 ...

  3. 64位WIN7下安装MPICH2

    1.首先,下载32位的MPICH2,(注意哦,是32位,不是64位) http://202.117.4.228/files/B117000000042632/www.mcs.anl.gov/resea ...

  4. 64位win7下安装Boost 1&period;59&period;0 &plus; boost&period;python 1&period;59&period;0 &plus; gccxml &plus; pygccxml &plus; pyplusplus&lpar;py&plus;&plus;&rpar;

    由于安装过程中实在是出现了N多问题,所以不得不专门写个帖子来记录一下这破东西在Win7下的安装过程,避免以后还要再用的时候踩坑. 1.Boost简介 Boost库是一个可移植.提供源代码的C++库,作 ...

  5. 如何在64位WIN7下安装64位的解压版mysql-5&period;6&period;37-winx64&period;zip

    1.到mysql官网下载 https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.37-winx64.zip 2.将解压缩后的文件放到自己想要的地方, ...

  6. 32位Win7下安装与配置PHP环境(二)

    本安装实例中用到的三个软件,都可以直接从官网下载,为了方便,也可以直接从本人的CSDN资源中打包下载. 三个安装文件如图示: CSDN高速下载地址: http://download.csdn.net/ ...

  7. Joomla3&period;1&period;1在64位win7下安装

    将下载的joomla压缩包解压到Apache下的htdocs文件夹中. 打开Apache服务器,在浏览器输入http://localhost:8081/Joomla/ 即可进入Joolma的安装配置界 ...

  8. 64位win7下安装SQL Server 2008(图文解说版)

    运行sql安装 单击安装-全新的sql server独立安装,如果我们准备好了故障转移群集,那么我们就可以创建故障转移群集sql 常规检查 一笑而过 选择版本,或者输入密钥自动识别版本 授权协议 支持 ...

  9. 64位WIN7上安装11G R2 ,PLSQL的配置方法

    64位WIN7上安装11G R2 ,PLSQL的配置方法:1.       1.1. 去http://www.oracle.com/technetwork/topics/winsoft-085727. ...

随机推荐

  1. Thinkphp更改子集

    //规格编辑 public function standard(){ //$id = $_GET['id'];//dump($id);die; $id = 388; //根据$id 到re_goods ...

  2. Inspector a ProgressBar&lpar;定制属性面板&rpar;

    一.定制进度条 这篇文章主要学习如何在Unity的Inspector中使用ProgressBar 普通属性面板预览 通常我们的属性面板如下 定制属性面板预览 而通过扩展成ProcessBar后 二.内 ...

  3. mac平台scala开发环境搭建

    到scala官网,下载scala的sdk,地址:http://www.scala-lang.org/download/ adeMacBook-Pro:scala- apple$ wget http:/ ...

  4. Intellij IDEA&comma;WebStorm-keymap(转)

    1. ctrl + shift + n: 打开工程中的文件2. ctrl + j: 输出模板3. ctrl + b: 跳到变量申明处4. ctrl + alt + T: 围绕包裹代码(包括zencod ...

  5. (转)select 1 from &period;&period;&period; sql语句中的1代表什么意思? &period;

    select  1 from ..., sql语句中的1代表什么意思?查出来是个什么结果?         select 1 from table;与select anycol(目的表集合中的任意一行 ...

  6. poj1664 放苹果(递归)

    转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://poj.org/problem?id=1664 ------ ...

  7. 班上有学生若干名,已知每名学生的成绩(整数),求班上所有学生的平均成绩,保留到小数点后两位。同时输出该平均成绩整数部分四舍五入后的数值。 第一行有一个整数n(1&lt&semi;&equals; n &lt&semi;&equals; 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的成绩,取值在int范围内。

    #include<iostream> #include<iomanip> using namespace std ; int main() { int n; while(cin ...

  8. 【高斯消元】兼 【期望dp】例题

    [总览] 高斯消元基本思想是将方程式的系数和常数化为矩阵,通过将矩阵通过行变换成为阶梯状(三角形),然后从小往上逐一求解. 如:$3X_1 + 2X_2 + 1X_3 = 3$ $           ...

  9. 记录一下这次web实训的两个网站

    先是做的一个天猫的部分首页,接着过了一周左右开始做京东的一个商品详情页. 从天猫到京东,从不敢做到开始不断突破自己,从代码量的堆积中汲取经验.收获真的很大,也学习到了很多,还有很多要学的,继续加油吧~ ...

  10. HDU1875&plus;Prim模板

    https://cn.vjudge.net/problem/HDU-1875 相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现.现在* ...