文章地址: http://blog.csdn.net/sxf1061926959/article/details/54094356
作者:XFShi https://github.com/Shicoder


Theano是我安装时间最长的一个东西了。
我的环境:Win7 64位

1、安装Anaconda

Anaconda公认的方便,里面有安装theano需要的所有包。
建议选择老版本的anaconda,新版的anaconda2也能装,但是里面没有MinGW,需要自己用命令下载,命令如下:conda install mingw libpython。但是学校的校园网实在是难以恭维,在cmd下下载东西国内的都很慢,况且国外的。
Anaconda版本可以到这里自己选择,我用的是anaconda-2.1.0-windows-x86_64.exe,地址:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
我选择这个版本的原因是这个版本预先内置安装了MinGW,这样我们就不用再去自己安装mingw了,自己安装会出现很多问题,之前看有些博客说自己下载个mingw然后放到环境变量里面,这个官网也说了,行是可行的,但是不稳定,我也试了,会莫名其妙报错。当然也可以下载anaconda2新的版本,我试过最近的anaconda2,里面是没有mingw的,要自己下载,用
conda install mingw libpython
但是校园网慢,很难下载下来。我也成功下载下来过,也成功装上了,确实是可以的,但是中间也报过莫名其妙的错误。所以网快的小伙伴可以下个新的anaconda2试试,反正不行删了再来嘛。
继续,由于我安装的这个自带了MinGW,所以我就可以直接跳过这步,省去了好多出现错误的可能性。
到现在为止,你已经下载好了anaconda(任何版本),在你的anaconda安装目录下,例如C:\Anaconda文件下有一个MinGW文件夹了,那么可以继续了,mingw自己下载安装在其他地方的,建议删了重来。

2、theano安装

要用到命令了,打开cmd,输入
pip install theano
我们校内网实在是慢,根本下不下来,只有大晚上才能下载。当然最后还是让我成功下载下来了。推荐一个conda和pip加速的方法:
使用国内的源,因为我们在cmd下下载慢,很大一部分原因是下载源都在国外,所以被墙了,很慢。可以参考下面的地址更改pip和conda 的源。(这步可有可无,只为加速下载)。
http://blog.csdn.net/sxf1061926959

回到前面,当命令执行完成后,会显示 successfully installed theano-XXXX,下图是我从网上截的,我自己现在都不敢去动,毕竟装了那么久,哭。我的和下图的还有点不一样,我运行后出现的第一句是 download/unpacking theano ,运行完成后是 successfully installed theano six

这里如果pip install theano下载不下来,可以试试这样
去官网https://github.com/Theano/Theano把theano下载下来,取出theano-master里面的子文件夹theano,看清楚了是子文件夹,如下图,只要划红线的那个文件夹。
然后放到 anaconda\Lib\site-packages\ 目录下
3、环境变量配置
这步很重要,我之前因为安装网上的各种版本都试了一遍,所以环境变量比较乱,这也可能是我很多安装失败的原因。这里我的建议是,如果你安装报错,问题找不到后要删了重装,那么一定要清理干净环境变量,网上有说要清理注册表什么的,也许人家是对的,但是我找了半天也没找到那个注册表,而且我也没删注册表,表示照样让我装上了?
好了,打开环境变量,我觉得既然你是一个要装theano的人,那么环境变量的位置肯定已经烂熟于心了。如下图:

下面所以的环境变量都配置在系统环境变量里面。
1、在path后加:
D:\MySoft\Develop\Anaconda\MinGW\bin;D:\MySoft\Develop\Anaconda\MinGW\x86_64-mingw32\lib;
这里的 D:\MySoft\Develop\Anaconda 是我自己的 anaconda 路径,根据自己的安装目录,改成自己的。
2、新建环境变量PYTHONPATH,变量值为D:\MySoft\Develop\Anaconda\Lib\site-packages\theano;
注意自己的路径,注意分号,别打错字,建议直接去这
复制,省的出错了,都不知道哪里错了。
3、打开cmd,看看自己的home目录,

进入到这个目录,就是C盘下的用户下的xxx目录下。
创建一个 .theanorc.txt 注意注意前面的那个点号,一定要有。
内容如下:

[blas]
ldflags=[gcc]
cxxflags=-ID:\MySoft\Develop\Anaconda\MinGW\x86_64-w64-mingw32\include

最后一行我看也有人用
cxxflags=-ID:\MySoft\Develop\Anaconda\MinGW\include

我试了下好像都行。
我配置了GPU,所以我的是全部是这样的,你们按上面这个就可以了。

[global]
device = gpu
floatX = float32 [nvcc]
flags=-LD:\MySoft\Develop\Anaconda\libs
compiler_bindir=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
fastmath = True[blas]
ldflags=[gcc]
cxxflags=-ID:\MySoft\Develop\Anaconda\MinGW\x86_64-w64-mingw32\include

正常情况下,到这里应该就好了,用 cpu的theano 就弄好了。
打开cmd,
输入:python
再输入
import theano
theano.test()

没有报错就是OK了,会有一个 warning:PyCUDA import failed ,这个是因为没有GPU。当然如果报错了,也不要怕,我之前在台式机上的就有错,什么nose什么的,具体忘了,但是具体使用的时候居然还能用。所以可以再试试下面的测试demo或者先重启下电脑,我之前有一次报错,重启了一下就可以用了。

1.import numpy as np
2.import time
3.import theano
4.A = np.random.rand(1000,10000).astype(theano.config.floatX)
5.B = np.random.rand(10000,1000).astype(theano.config.floatX)
6.np_start = time.time()
7.AB = A.dot(B)
8.np_end = time.time()
9.X,Y = theano.tensor.matrices('XY')
10.mf = theano.function([X,Y],X.dot(Y))
11.t_start = time.time()
12.tAB = mf(A,B)
13.t_end = time.time()
14.print "NP time: %f[s], theano time: %f[s] (times should be close when run on CPU!)" %(
15.                                           np_end-np_start, t_end-t_start)
16.print "Result difference: %f" % (np.abs(AB-tAB).max(), )  

如果这个demo跑完还有错的话,
第一:按照错误的提示去网上找答案;
第二:删了重装,不要怕,删了没事的,先去卸载程序哪里把anaconda下的python卸载了,或者直接把anaconda文件夹删了。
我之前遇到过一个错误。如下:
WARNING (theano.gof.compilelock): Overriding existing lock by dead process ‘5216’ (I am process ‘5488’)
网上的答案是这样的:调试之后发现是theano库中function_module.py代码出现了问题,于是用自己下载的theano-mater中的theano子文件夹(【Theano-master下载】)替换掉theano_installer_latest.msi自动安装的theano(Anaconda\Lib\site-packages\theano)
有遇到这个的可以先试试这个方法,但是我自己试了下,发现没有用。最后发现是环境变量里有重复的mingw。删掉没有用的那个就可以了
后来又报错xception: Compilation failed (return status=1):。。。。。。。。。。。
发现是.theanorc.txt文件因为看了好多版本的这个,写串了。还有什么DLL load failed,好多错误。

总结一下:

1、一定要有MinGW,而且一定不能是单独安装的,而且环境变量里一定只能有一个
可以是anaconda自带的MinGW,也可以是通过命令 conda mingw libpython 下载的。
2、安装完theano报错的,不要急,先看看环境变量对不对,有没有写错,有没有多个mingw,环境变量有没有漏写,看看.theanorc.txt里面写的对不对,路径对不对,文件名前面的那个点.有没有写。如果以上都对的,那么去github上clone一个theano(https://github.com/Theano/Theano),将里面的子文件夹theano放到anaconda\Lib\site-packages\下,再看看对不对。
如果还是不行,那么删了换个版本的anaconda再装一次吧。
当前面全部弄好后,cpu的theano已经可以用了,如果要装GPU,看我的参考文献,写的还可以。

参考文献:

http://blog.csdn.net/hjimce/article/details/46654229
http://blog.sina.com.cn/s/blog_990865340101hvuq.html

win7安装theano吐血总结相关推荐

  1. 在win7安装theano

    1.安装Anaconda Anaconda公认的方便,里面有安装theano需要的所有包.  下载地址:  https://mirrors.tuna.tsinghua.edu.cn/anaconda/ ...

  2. 小白Windows7/10 64Bit安装Theano并实现GPU加速(没有MinGw等,详细步骤)

    本教程适合最初学习者,高手勿喷.原文地址:http://blog.csdn.net/niuwei22007/article/details/47684673 Ubuntu15.10 64bit成功安装 ...

  3. 未找到文件 服务器可能无此更新包文件,win7安装xampp提示windows找不到-n文件(安装成功后,443端口占用,apache服务器无法正常启动)的解决方案...

    1. 环境:win7 64位安装xampp 32位. 2. 安装过程最后,报错,提示windows找不到-n文件.以及说没有安装Microsoft Visual C++ 2008 Redistribu ...

  4. Win7安装软件,界面上中文显示乱码的解决方案

    Win7安装软件,界面上中文显示乱码的解决方案 参考文章: (1)Win7安装软件,界面上中文显示乱码的解决方案 (2)https://www.cnblogs.com/heyang78/p/42588 ...

  5. win7 安装PyTorch

    win7 安装PyTorch并测试 4月25号,PyTorch官方支持windows安装,博主第一时间安装使用了,下面分享安装过程和测试案例. 安装anaconda,方法查看:https://blog ...

  6. 【DeepLearning工具】Fedora下安装theano

    http://blog.csdn.net/u012162613/article/details/42651233 author:wepon @blog:http://blog.csdn.net/u01 ...

  7. Win7安装64位CentOS 6.4双系统详细过程

    原文连接Win7安装64位CentOS 6.4双系统详细过程 本文是在两篇文章整合而成.分别是: Mr.Johness的 最清晰细致的教程!一步步教你打造Win7+CentOS双系统 和 cjh326 ...

  8. win7怎么安装nodejs_怎么解决win7安装软件提示

    使用win7系统的用户,自己在安装某个应用程序的时候系统提示"此程序被组策略阻止",导致了程序安装失败,其实这个问题可能是本地安全策略设置出的问题,那么怎么解决win7安装软件提示 ...

  9. 自制Win7安装U盘!

        大家都知道,Win7安装光盘为DVD,在小为2.3G左右,但光盘安装的速度没有U盘来的快,而且有些机器没有DVD光驱,或是有些笔记本不带光驱,就比较麻烦了!下面,我们就直接将Win7安装文件放 ...

最新文章

  1. jQuery和dom的相互转换
  2. HarmonyOS之AI能力·图像超分辨率
  3. 解锁三星bl锁有几种方法_解锁陶瓷砂磨机常见的几种机械密封损坏原因及处理方法发表...
  4. java线程实现及线程池的使用
  5. 实时内核(Core)和实时操作系统(RTOS)有何不同?
  6. mysql在线增加字段_MySQL在线加字段实现原理
  7. mybatisplus多表关联查询_Excel、MySQL、PowerBI、Python来告诉你 数据关联与联合不一样
  8. linux文本模式无法打字,文本终端模式下中文输入法(Fcitx)配置(openSUSE Leap 42.1)...
  9. Filezilla:建立远程与阿里云交互的FTP
  10. excel根据数据得出公式
  11. 人大金仓数据库高可用集群部署教程
  12. 各种建筑风格及其代表建筑
  13. 【整数规划算法】分支定界法及其Python代码实现
  14. 英文地址翻译原则:先小后大。如**号**路**区,
  15. 算法来为图像找到好的裁剪
  16. 对比学习的应用(SimCSE,CLEAR,DeCLUTR,DiffCSE)
  17. 数据分析应该怎么做?
  18. 如何使用帆软BI直接分析明道云数据
  19. 第三章 模糊查询与分组查询 ② 代码
  20. 量化投资常用技能——绘图篇 2:绘制移动平均线

热门文章

  1. 谷歌音乐 Rhythmbox 插件 更新到支持 rhythmbox 0.13.1 版本 ( ubuntu10.10)
  2. 手机视频聚合App影响 视频网站转型堪忧
  3. 全国教育专业学位研究生教指委函件
  4. String类型的方法
  5. 比MySQL快801倍,OLAP两大神器ClickHouse+Doris技术选型攻略分享
  6. windows工具箱
  7. 四子棋游戏--bingo game
  8. linux下控制CPU不降频命令
  9. CDN和CDN加速有什么关联
  10. Hello Babylonjs