之前一直想弄theano,可是python不是很懂,在学习了一段时间之后开始安装theano。当然官网上的安装资料是全,可是也太繁琐了。这里介绍的是最简单,最方面的安装theano的方法。官网首页:http://deeplearning.net/software/theano/

环境:win8.1_64bit+ anaconda2.1.0_64bit+CUDA6.5_64bit+theano0.7。

1:下载Anaconda 2.1.0

https://repo.continuum.io/archive/.winzip/   ;该链接是anaconda官网的不同时间的版本。anaconda3表示python3.X,而anaconda表示2.X。这个正常安装就好,我是装在C:\Anaconda的,也就是C根目录下。无需重启(最好重启使得安装的path等路径生效)。

2:打开cmd,,可以查看到有,如果没这个,会在后续提示如“g++”找不到,无法编译的问题。

3:输入,会自动在网上搜索theano0.7版本进行安装,会出现

4:这时候其实theano应该算是安装好了,可是如果说只是用cpu,那么体现不出gpu的优势,可以在这个路径下,也就是linux的/home路径,也就是windows的cmd命令运行的时候的路径

新建文件   .theanorc.txt,在里面写上

或官网的

5:输入python进入python环境,然后进行import theano,会出现:

按照之前找的资料,是不会出现这些东西的,为何我出现了,那就不知道。

6:随便建立个测试py文件,写上

import numpy as np
import time
import theano
A = np.random.rand(1000,10000).astype(theano.config.floatX)
B = np.random.rand(10000,1000).astype(theano.config.floatX)
np_start = time.time()
AB = A.dot(B)
np_end = time.time()
X,Y = theano.tensor.matrices('XY')
mf = theano.function([X,Y],X.dot(Y))
t_start = time.time()
tAB = mf(A,B)
t_end = time.time()
print "NP time: %f[s], theano time: %f[s] (times should be close when run on CPU!)" %(
np_end-np_start, t_end-t_start)
print "Result difference: %f" % (np.abs(AB-tAB).max(), )

不过注意这里的print不再是2.X的语句,而是需要使用迁移到3.X的函数形式,也就是使用print()。运行后结果:

上图中最后的used the gpu 就是成功使用的证据,虽然上面的那一些出来的东西还暂时搞不懂,不过至少迈出了第一步。

注意事项:

1、为了安装的顺利,在安装anaconda和theano等软件的时候推荐路径中不要有空格,而且最好不要出现中文。

2、首先暂时不论系统是多少位的,你的CUDA装的是32的,那么anaconda也对应下32位的,反之亦然。不过CUDA在7以上版本就开始独立一个文件不区分是否是32还是64位了,可是暂时没看到有用CUDA7来安装Theano的。

3、虽然对于当前时间来说有更新的anaconda2.2.0的版本,但是还是推荐下这个,原因:

a)不同版本中包含的东西不一样,这个版本的包含了mingw,而2.2.0版本的并不包含;虽然可以后续使用例如[5]或者,[5]来进行安装,可是后续还是会出问题如图:

该问题在[3]中的https://github.com/Theano/Theano/issues/2087里面有讨论,不过估计(猜的)是新的anaconda缺少mingw,而使用指令更新后得到的mingw不是原来的版本。

b)theano对python3支持不是很好,所以不推荐下anaconda3系列的,因为theano是基于python2.4以上写的,这个在官网http://deeplearning.net/software/theano/install.html#install 中有说明

如果安装python3的话,在后续import theano的时候会出现[4]中的http://comments.gmane.org/gmane.comp.mathematics.theano.user/6515的问题

(这个观点是按照字面意思猜的,不一定正确,不过该问题却已经解决)这是因为python2.X和python3.X中的默认编码选择已经不一样了,在3中默认是uniconde编码方式的。虽然在日常的代码编写中可以如http://www.cnblogs.com/blueel/archive/2012/08/21/2649590.html这样简单处理,可是对于这个问题,cuda_ndarray.cu,首先进去看不到对应的字符串,而且感觉真正的原因不是这个。(https://github.com/Theano/Theano/issues/783,这个网页没看,不过对这个问题的理解有帮助)。

未做:

1、如果想在VS下做图形化界面的开发,推荐[7]的对应部分。

参考资料:

[1] Theano 官网:http://deeplearning.net/software/theano/index.html

[2] Theano在github上的网址:https://github.com/Theano

[3] Theano在github上的问题讨论区:https://github.com/Theano/Theano/issues

[4] Theano的google团队问题讨论区:http://blog.gmane.org/gmane.comp.mathematics.theano.user

[5] Deep learning:Theano安装攻略:http://blog.163.com/yuyang_tech/blog/static/216050083201469101518900/

[6] 采用anaconda2.1.0的灵感来源:http://blog.csdn.net/u010454729/article/details/43052505

[7] Win8.1_64bit下搭建theano的博客:http://www.th7.cn/Program/Python/201407/228314.shtml

Theano1.1-安装的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  3. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  4. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  5. gentoo 安装

    加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...

  6. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  7. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  8. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  9. tLinux 2.2下安装Mono 4.8

    Tlinux2.2发行版基于CentOS 7.2.1511研发而成,内核版本与Tlinux2.0发行版保持完全一致,更加稳定,并保持对Tlinux2.0的完全兼容.Mono 4版本要求CentOS 7 ...

  10. 工欲善其事,必先利其器 之 VS2013全攻略(安装,技巧,快捷键,插件)!

    如有需要WPF工具的朋友可以移步 工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧 之前一篇<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATI ...

随机推荐

  1. ADDM Reports bug:Significant virtual memory paging was detected on the host operating system

    查看ADDM(数据库版本为ORACLE 10.2.0.5.0)报告时,发现其中有个结论非常不靠谱:Significant virtual memory paging was detected on t ...

  2. mysql regexp用法

    正则表达式作用是匹配方本,将一个模式(正则表达式)与一个文本串进行比较. MySQL用WHERE子句对正则表达式提供了初步的支持,允许你指定用正则表达式过滤SELECT检索出的数据. MySQL仅支持 ...

  3. NGINX高性能Web服务器详解(读书笔记)

    原文地址:NGINX高性能Web服务器详解(读书笔记) 作者:夏寥寥 第4章  Nginx服务器的高级配置 4.1 针对IPv4的内核7个参数的配置优化 说明:我们可以将这些内核参数的值追加到Linu ...

  4. pom.xml 样例

    <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven ...

  5. dubbo-admin-2.5.3 运行报错: Bean property 'URIType' is not writable or has an invalid 解决方法

    因为 jdk 是1.8的版本,和 dubbo-admin 存在兼容性问题.所以报错: Bean property 'URIType' is not writable or has an invalid ...

  6. MySQL 调优基础(一) CPU与进程

    一般而言,MySQL 的调优可以分为两个层面,一个是在MySQL层面上进行的调优,比如SQL改写,索引的添加,MySQL各种参数的配置:另一个层面是从操作系统的层面和硬件的层面来进行调优.操作系统的层 ...

  7. 前端构建工具gulp介绍

    2016年3月3日 10:46:08     晴 前端构建工具gulpjs的使用介绍及技巧 gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简 ...

  8. C#邮件发送问题(一)

    邮件发送需考虑很多因素,包括发送邮件客户端(一般编码实现),发送和接收邮件服务器设置等.如果使用第三方邮件服务器作为发送服务器,就需要考虑该服务器的发送限制,(如发送邮件时间间隔,单位时间内发送邮件数 ...

  9. /usr/include/sys/types.h:62: error: conflicting types for ‘dev_t’

    /usr/include/sys/types.h:62: error: conflicting types for ‘dev_t’/usr/include/linux/types.h:13: erro ...

  10. ELF Format 笔记(七)—— 符号表

    最是那一低头的温柔,像一朵水莲花不胜凉风的娇羞,道一声珍重,道一声珍重,那一声珍重里有蜜甜的忧愁 —— 徐志摩 ilocker:关注 Android 安全(新手) QQ: 2597294287 符号表 ...