Theano安装与测试过程


  机子系统为win10,由于先安装了Anaconda3,最开始尝试在Anaconda3(python3.7)环境下安装Theano,有一个cutils_ext.pyd的dll链接失败不知道怎么解决。同时很多网友都提到theano与python2.7更友好,所以以下的安装都是基于Anaconda3下的虚拟环境(python2.7),基本安装过程同直接在Anaconda2(2.7)基本相同。

一、 Anaconda3下安装虚拟环境

  在Anaconda Prompt中输入:conda create – name python27 python=2.7 (标红部分名字可自己改),结果如下图,输入‘y’,完成python2.7版环境的创建。
syy
环境创建之后,建议用:conda info –envs 来查看是否已经按安装好。
然后,接下来的所有操作都应该在python27这个虚拟环境中进行
进入环境和退出虚拟环境的命令分别为:
conda activate python27
deactivate python27

二、 相关依赖包的安装

 由于是虚拟环境,所以预装的包的是比较少的,通过下图conda list 命令可以看到,只有最基本的包
在这里插入图片描述
根据theano官方的文档说明(链接地址为:)
http://deeplearning.net/software/theano/install_windows.html
theano需要的包有:
在这里插入图片描述
那我们就来安装一下相应版本的依赖包
举个栗子:安装numpy;
要求的版本是1.9.1-1.12,所以我选择了numpy1.11
利用命令行:conda install numpy = 1.11来进行安装,具体见下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后conda list 的时候就能发现numpy已经装好了。
同样的道理安装scipy等。安装过程中,注意包之间的相关制约,比如我在装scipy=0.16的时候,conda就要求把numpy的包改到了1.9.3,这个numpy版本在theano的允许范围内,我就没管了,虽然官方也没有明确说不在要求版本内不行,但是大家根据自己已有情况和条件抉择吧。

三、 安装minGW,libpython

建议安装方式,在Anaconda prompt 或者命令行中输入:conda install mingw libpython

以下为下载过不去的解决方案:原文来自于
https://www.cnblogs.com/hdu-zsk/p/5950924.html

中间会要你选择Proceed([y]/n)? 当然要选y了。输入y,然后按回车键。如果幸运的话,你的电脑会一溜烟安装完。可惜相当一部分人并不幸运,他们会发现一个蛋疼的问题——文件在线下一半不下了,要么就是网速慢成狗。也难怪,谁让这条命令需要链接境外的服务器呢,拜某墙所赐才会下的这么慢。不要急,有办法。如果你已经下了一半,然后卡成了狗。请遵守以下步骤:
(1)狠下心关掉文件下载了一多半的命令行窗口。
(2)重新打开命令行窗口
(3)输入命令
conda clean --lock
输完上述命令后会蹦出一行提示:
removing (你的home路径)\Anaconda2\pkgs.conda_lock-1056
如果你不输入这个命令直接输入conda install mingw libpython的话,你会发现系统不给装,因为有文件残留的原因。他会认为你要下载的minGW和libpython已经存在了(刚才下过了,只不过是残的)。
(4)输入命令
conda config --add channels
conda config --set show_channel_urls yes
第一句话的意思是告诉conda命令等会你别往境外找了,就找我给你的这个地址就可以了。这个是清华大学的anaconda免费package文件服务器
第二句话的意思是告诉conda命令,让我看看你的url对不对(这句话执行后有可能不显示,这是正常的,不用急)

最后,由于2019-05-16左右清华的镜像关闭了,详细见官方通知https://mirrors.tuna.tsinghua.edu.cn/news/close-anaconda-service/
<所以上述源可以换成科大的,由于博主FQ了所以可以下,有些网慢的,手动到
https://repo.anaconda.com/pkgs/free/win-64/>下载的
这个问题大家自己找找解决方案。上面所有的包的安装都可以参考上述解决方案。

安装好minGW,libpython后,在环境设置的路径里看一下是不是有mingw的路径了。没有的添加一下。下面是我装在虚拟环境python2.7下的路径,大家按自己的来,基本上都直接在Anaconda的安装文件夹里面。
F:\install\Anaconda3\envs\python27\MinGW\bin;
F:\install\Anaconda3\envs\python27\MinGW\x86_64-w64-mingw32\lib

四、 安装Theano

终于可以装Theano了,在Anaconda prompt下直接输入:conda install Theano
和上面一样,它自动检测安装了很多东西,应该可以顺利安装成功了。
这时候再conda list,就有了很多包了。
在这里插入图片描述
还没完,配置MinGW
Step1,在你的电脑User目录下找到你的用户文件夹,我的用户名是沈丫丫,然后在C:\Users\沈丫丫下新建文本文档
Step2,在新建文本文档中输入如下命令:
[global]
openmp=False
[blas]
Idflags=
[gcc]
cxxflags=-IF:\install\Anaconda3\envs\python27\MinGW\bin

注意标红的路径是根据你自己的MinGW来设置的,不需要和我的一样

在这里插入图片描述
图片版清晰一些,但是,文本内容还是采用上面文字版

Step3,保存,改文本文档的名字为.theanorc.txt(注意theano前还有一个点);

Step4,重启电脑;

到这里,theano就算是基本安装配置完毕了

五、 Theano测试

   从cmd进入python的shell脚本,或者在pycharm里面(使用pycharm要记得选择你安装Theano的环境),我是在pycharm中测试的。
运行以下指令:
import theano
theano.test()

然后静静等待测试完成。经过漫长的等待之后或许看到errors=0 failures=0,你就可以确定你成功了。但是你的也有可能是这样:
在这里插入图片描述
SKIP=26,errors=95
那就是说,失败了。仔细查找看显示出的信息:
似乎所有的错误都是同一个:
ERROR: Failure: ImportError (No module named nose_parameterized)
错误的意思是:没有名叫nose_parameterized的模块
解决方法就是:安装名为nose-parameterized的模块,在命令提示符的窗口下输入如下代码:
Conda install nose-parameterized
在这里插入图片描述
然后进行重新测试,经过漫长的等待(等待的久说明测试成功的多哦),可以看到我们成功的测试结果
在这里插入图片描述
仍然还有warning,测试了下面这个链接里面的一些theano的常用代码
https://blog.csdn.net/wonengguwozai/article/details/52738071
都能通过,也就暂时不理会这些warning,后续如果再发现有错误,再更。

六、 Gpu环境

鉴于博主未有Gpu,故暂时只尝试到cpu,后期尝试后再更,先附链接教程https://www.cnblogs.com/hdu-zsk/p/5950924.html

猜你喜欢

转载自blog.csdn.net/weixin_40933466/article/details/90752325
今日推荐