Win10系统下搭建深度学习环境(一)


这是楼主学习在windows下搭建深度学习环境的心(作)路(死)历程,本着no zuo no die 的精神,小白楼主坚持不懈地折腾了一整天,留此文章,以供后人参考(其实就是怕万一重装了系统又得从头再来)。

首战

安装Anaconda

直接点击进入链接
注意安装的过程中可以让anaconda将原有版本的python给删去,无所谓的。

安装Theano

这个时候你会发现Numpy和Scipy等都已经自动装好,因此只需要进入anaconda的prompt,直接输入

pip install theano

好像就装好了诶
但是这个时候在prompt内输入

ipython

进入python界面,输入

import theano

会收到warning,显示机器没有安装gcc,这意味着theano可以正常运行,但是效率堪忧
本着缺啥补啥的精神,楼主决定装一下g++和gcc

安装MinGW

度娘了一下,普遍认为使用MinGW为系统安装GCC是个不错的选择,但是安装过程中是在捉急。因为它是在线安装,在界面内进一步安装gcc和g++的时候····没。。有。。进。。度。。条!!!
装完以后要添加环境变量,这个过程很平凡,按照教程来就好.

测试

同样是进入ipython,然后import,这个时候你会发现····出错了,跑都跑不起来
度娘之发现可能是因为环境更新之后pyc文件没有更新,所以把theano中的.pyc文件全卸了,再来一次,果然有用——错误提示不一样了。
所以,楼主第一天就把mingw卸了,心里想着这样好歹还能将就着用。


第二战

看了这个帖子以后 http://blog.5ibc.net/p/10970.html
私以为这篇帖子说得对
所以在anaconda的prompt里面输入

pip uninstall numpy
pip uninstall scipy 

等着待会全部重装

安装MinGW-W64

这个时候找到了一个64版本的mingw,喜出望外,果断下载之
下载完以后双击,选择X86_64,thread选项选择posix(支持C++11).
装完以后不同于上文链接中的安装方式了,进入MinGW\bin,我们会发现里面已经有了gcc和g++,所以直接从第六步开始,添加三个环境变量,并完成后续步骤。

gcc -v
gcc -o hello1.exe hello1.c
#include <stdio.h>
int main( int argc, char *argv[] )
{
printf( "Hello World!\n" );
return 0;

}
g++ -o hello2.exe hello2.cpp
#include <iostream>
using namespace std;
int main( int argc, char *argv[] )
{
cout << "Hello World!" << endl;
return 0;
}

未出错,则说明安装成功

安装BLAS和LAPACK

这一部分参考自教程但是在实际操作的时候还是有些细节感觉说得不清楚,所以决定写得再详细些。

  • 下载LAPACK
    将lapack.tgz解压到一个文件夹,称为源代码文件夹,我的是:D:\Download\lapack\lapack-3.5.0。注意将文件夹内的make.inc.example文件重命名为make.inc
  • 下载CMAKE
    楼主下载的是windows64位的.msi文件,然后双击安装即可。

安装LAPACK和BLAS

  • 1.打开CMake的界面,将where is source code设置为你的源代码文件夹,build the binaries设置为已存在的另一个文件夹用于存放编译生成的文件,下面简称为build文件夹。
  • 2、点击Configure,在Specify the generator for this project 下拉项选MinGW Makefiles,选项组选"Specify native compilers",点击next,选择c和fortran编译器在你机器的路径,我的是"E:/MinGW/bin/mingw32-gcc.exe", 和"E:/MinGW/bin/mingw32-gfortran.exe",c++留空,点击finish,结果如图2。
  • 3、将BUILD的 'BUILD_SHARED_LIBS' 、 CMAKE中的'CMAKE_GNUtoMS' 和在Ungrouped Entries中选中'LAPACKE'。再点一次Configure,除第一行CMAKE外红色警告都消失了。
  • 4、点击Generate。出现Configuring done和Generating done 提示时,说明编译完成。
  • 5、打开cmd prompt,cd进入build文件夹,执行mingw32-make.exe命令,开始漫长(25min)的生成过程。
    在楼主的实验过程中,生成的是D:\lapack_test>,mingw版本是64位的,所以命令是
C:\"Program Files"\mingw-w64\x86_64-6.1.0-posix-seh-rt_v5-rev0\mingw64\bin\mingw32-make.exe
//引号用来防止cmd将C:\Program当做一个命令
  • 6.生成结束后,通过 test命令来检查是否正确。
 C:\"Program Files"\mingw-w64\x86_64-6.1.0-posix-seh-rt_v5-rev0\mingw64\bin\mingw32-make.exe test
 100% tests passed, 0 tests failed out of 102
  • 7.在build文件夹下的lib文件夹下生成了libblas.dll.a,liblapacke.dll.a、liblapack.dll.a和libtmglib.dll.a四个个文件(教程中说文件名中没有.dll,可能是因为版本不同),至此完成了lapack库和blas库的编译。
  • 8.将build文件夹中bin文件夹添入环境变量中的PATH中去,方法类似添加MINGW,并将lib文件夹中的四个.a文件放入MINGW的Lib中去。
  • 9.测试下段代码
program test_sgesv  
implicit none  
real :: a(3,3),b(3)  
integer :: v(3),iflag  
external sgesv  
a=reshape([2.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0,4.0],[3,3])  
b=[998.0,999.0,1000.0]  
print *,'a=',a  
print *,'b=',b  
call sgesv(3,1,a,3,v,b,3,iflag)  
print *,'solve=',b  
end program test_sgesv  

输出结果为

a=   2.00000000       0.00000000       0.00000000       0.00000000       3.00000000       0.00000000       0.00000000       0.00000000       4.00000000
b=   998.000000       999.000000       1000.00000
solve=   499.000000       333.000000       250.000000

说明安装LAPACK和BLAS成功

安装Numpy和Scipy以

如前文所见,numpy和scipy已经被卸载了,所以,首先在anaconda prompt中输入

conda install numpy
conda update numpy
pip install numpy

然后进入ipython输入

import numpy
numpy.test()

进行测试,显示

Ran 6054 tests in 150.778s
OK (KNOWNFAIL=8, SKIP=9)
Out[3]:<nose.result.TextTestResult run=6054 errors=2 failures=0>

error可能是代码内部的一些一场,没有failure,numpy应该是安装成功了。接下来安装scipy

conda install scipy
conda update scipy
pip install scipy

然后进入ipython输入

import scipy
scipy.test()

进行测试,显示

Ran 20192 tests in 407.232s
OK (KNOWNFAIL=100, SKIP=1628)
Out[4]: <nose.result.TextTestResult run=20192 errors=0 failures=0>

所以scipy应该是安装成功了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容