声明本教程不得用于任何形式的商业用途,如果需要转载请与作者SCP-173联系,如果发现未经允许复制转载,将保留追求其法律责任的权利。 这里需要说明一下,笔者不建议在Windows环境下进行深度学习的研究,一方面是因为Windows所对应的框架搭建的依赖过多,社区设定不完全;另一方面,Linux系统下对显卡支持、内存释放以及存储空间调整等硬件功能支持较好。如果您对Linux环境感到陌生,并且大多数开发环境在Windows下更方便操作的话,希望这篇文章对您会有帮助。 关于计算机的硬件配置说明推荐配置如果您是高校学生或者高级研究人员,并且实验室或者个人资金充沛,建议您采用如下配置:
最低配置如果您是仅仅用于自学或代码调试,亦或是条件所限仅采用自己现有的设备进行开发,那么您的电脑至少满足以下几点:
CPU说明
显卡说明
基本开发环境搭建1. Microsoft Windows 版本关于Windows的版本选择,本人强烈建议对于部分高性能的新机器采用 这里推荐到MSDN我告诉你下载,也感谢作者国内优秀作者雪龙狼前辈所做出的贡献。 直接贴出热链,复制粘贴迅雷下载: ed2k://|file|cn_windows_10_enterprise_2016_ltsb_x64_dvd_9060409.iso|3821895680|FF17FF2D5919E3A560151BBC11C399D1|/ 2. 编译环境Microsoft Visual Studio 2010 - 2015(安装CPU版本非必须安装) CUDA编译器为Microsoft Visual Studio,版本从2010-2015,其中 ed2k://|file|cn_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923256.iso|7745202176|DD35D3D169D553224BE5FB44E074ED5E|/ 3. Python环境python环境建设推荐使用科学计算集成python发行版Anaconda,Anaconda是Python众多发行版中非常适用于科学计算的版本,里面已经集成了很多优秀的科学计算Python库。对于搞科学计算与深度学习的朋友们,建议安装 下载地址: Anaconda 4. GCC编译环境gcc/g++是Windows环境与Linux环境非常大的一个差别点。不管是cpu版本还是gpu版本都需要安装GCC编译环境。本文提供两种解决方案:
conda install mingw libpython
5. CUDA(仅使用CPU版本不必安装)CUDA Toolkit是NVIDIA公司面向GPU编程提供的基础工具包,也是驱动显卡计算的核心技术工具。直接安装CUDA8.0即可下载地址:https://developer./cuda-downloads 在下载之后,按照步骤安装,不建议新手修改安装目录,同上,环境不需要配置,安装程序会自动配置好。 6. (可选)加速库CuDNN从官网下载需要注册账号申请,两三天批准。网盘搜索一般也能找到最新版。 Windows目前就是cudnn-7.0-win-x64-v5.0-prod.zip。 下载解压出来是名为cuda的文件夹,里面有bin、include、lib,将三个文件夹复制到安装CUDA的地方覆盖对应文件夹,默认文件夹在: Keras 框架搭建安装Keras深度学习框架是基于Theano或Tensorflow框架安装的,所以首先要准备底层框架的搭建,然而目前Tensorflow不支持Windows版本,所以本文选用Theano安装即可在CMD命令行或者Powershell中输入: pip install theano -U --prepip install keras -U --pre 或者想要加速开发版本,用(前提是已经git, conda install git) pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git 环境配置在我的电脑上右键->属性->高级->环境变量->系统变量中的path,添加 C:\Anaconda2;C:\Anaconda2\Scripts;C:\Anaconda2\MinGW\bin;C:\Anaconda2\MinGW\x86_64-w64-mingw32\lib; 注意,本文将Anaconda安装至C盘根目录,根据自己的情况进行修改;另外在之前安装gcc/g++时采用MSYS2方式安装的,修改并重新定位MinGW文件夹,并做相应修改。 之后并新建变量PYTHONPATH,并添加 C:\Anaconda2\Lib\site-packages\theano;
打开 {'image_dim_ordering':'th','epsilon':1e-07,'floatx':'float32','backend':'theano'}
[global]openmp=False device = gpu optimizer_including=cudnn #不用cudnn的话就不要这句,实际上不用加,只要刚刚配置到位就行 floatX = float32 allow_input_downcast=True [lib]cnmem = 0.8 #theano黑科技,初始化显存比例[blas]ldflags= #加速库[gcc]cxxflags=-IC:\Anaconda2\MinGW [nvcc]fastmath = True --flags=-LC:\Anaconda2\libs #改成自己装的目录--compiler_bindir=D:\Microsoft Visual Studio 12.0\VC\bin #改成自己装的目录#最后记得把汉字全删了 如果您的所安装的是CPU加速版本,那么 [global]openmp=True device = cpu floatX = float32 allow_input_downcast=True [gcc]cxxflags=-IC:\Anaconda2\MinGW 之后可以验证keras是否安装成功,在命令行中输入Python命令进入Python变成命令行环境: >>>import kerasUsing Theano(Tensorflow) backend.>>> 没有报错,那么Keras就已经成功安装了 加速测试环境测试在命令行中进入Python环境,输入: import theano 会出现一系列信息,包括显卡型号、浮点数类型、是否采用CNmem和cuDNN(如果使用了的话)等等,那么恭喜你,环境彻底配置成功。如果使用了Windows系统的读者,电脑上可能会出现,debug的字样,这是第一次使用,在编译生成运行库,属于正常现象。 加速库测试Python环境下输入: import numpy id(numpy.dot) == id(numpy.core.multiarray.dot) 如果得到的结果为 速度测试新建一个文件 from theano import function, config, shared, sandboximport theano.tensor as Timport numpyimport timevlen = 10 * 30 * 768 # 10 x #cores x # threads per core #这里可以加一两个0,多测试一下,记得去掉汉字 iters = 1000rng = numpy.random.RandomState(22)x = shared(numpy.asarray(rng.rand(vlen), config.floatX))f = function([], T.exp(x))print(f.maker.fgraph.toposort())t0 = time.time()for i in xrange(iters): r = f()t1 = time.time()print('Looping %d times took %f seconds' % (iters, t1 - t0))print('Result is %s' % (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') 在GTX 970显卡下,输出结果大概是0.21秒,在一百倍运算量下19秒,可以进行对比。理论上,相比较主频为3.3GHz的CPU,加速比应该是75倍,但不同的ssd和内存限制了IO接口传输速度。 Keras中mnist数据集测试下载Keras开发包 git clone https://github.com/fchollet/keras.gitcd keras/examples/python mnist_mlp.py 程序无错进行,至此,keras安装完成。 一个Anaconda3中配置遇到的异常解决方式目前发现使用Anaconda3安装theano时可能会有一个冲突: AttributeError:module ‘configparser’ has no attribute ‘SafeConfigParser’ 暂时只有用以下方法处理: 对Anaconda3\Lib\site-packages\theano\configparser.py更改文件名,比如改为config_parser.py,在pycharm或其他IDE中随意运行一个cnn脚本,对遇到的每一个提示错误手动更改引用到的文件名为theano.config_parser,在将所有引用到这个文件的位置都改正后,应该就没有问题了。 声明与联系方式由于作者水平和研究方向所限,无法对所有模块都非常精通,因此文档中不可避免的会出现各种错误、疏漏和不足之处。如果您在使用过程中有任何意见、建议和疑问,欢迎发送邮件到scp173.cool@gmail.com与中文文档作者取得联系. 本教程不得用于任何形式的商业用途,如果需要转载请与作者或中文文档作者联系,如果发现未经允许复制转载,将保留追求其法律责任的权利。 作者:SCP-173E-mail :scp173.cool@gmail.com如果您需要及时得到指导帮助,可以加微信:SCP173-cool,酌情打赏即可
|
|