WIN10(GTX1050)环境Anaconda2下安装theano和keras


简介:

Keras是基于theano/tensorflow的深度学习二次框架,该框架使用python语言,十分易用。

 

安装环境:

操作系统:WIN10/64位     显卡:GTX1050

Visual Studio:2015            Python:2.7(Anaconda2)        CUDA:cuda_8.0.61_win10

CuDNN:cudnn-8.0-windows10-x64-v5.1                           Git:Git-2.10.2-64-bit

 

主要参考文档:

Keras中文文档:http://keras-cn.readthedocs.io/en/latest/getting_started/keras_windows/

 

1、安装Visual Studio 2015和Git

GTX1050显卡只支持最新的CUDA8,而CUDA8仅支持VS2015。

Visual Studio 2015下载地址:http://www.itellyou.cn/

Git下载地址:https://git-scm.com/download/win

Git安装的选项可参考如下:

            




       安装完成后,在cmd中输入git并执行,会出现git相关信息,表示安装成功。

 

2、Anaconda2的安装

选择安装Python 2.7 version,下载地址:https://www.continuum.io/downloads

本文版本为Anaconda2-4.3.0.1-Windows-x86_64

安装的位置可以任意配置,本文选择安装在C盘根目录下。

选择第一个√,会自动添加相关路径到path环境变量

 

3、安装GCC编译环境

在命令提示符中运行如下指令,按照提示操作。自动下载mingw过程中容易被墙,如果下载速度过慢,可以自备梯子。

conda install mingw libpython

       安装完成后,需要去设置一下path环境变量,添加以下两条到path变量中(具体路径依据自己的实际安装位置)

C:\Anaconda2\MinGW\bin;
C:\Anaconda2\MinGW\x86_64-w64-mingw32\lib;

4、安装CUDA

       Cuda的安装比较波折,一开始出现如下提示:


到cuda官网去看(https://developer.nvidia.com/cuda-gpus),显示如下:


一度怀疑GTX1050显卡移动版还没有被cuda支持,但是这是一个误导,cuda8是完全支持gtx1050显卡的。

查遍stackoverflow和cuda官方社区后,有人说这是因为cuda安装包里带的显卡驱动版本比较旧,没法识别较新的已安装的驱动。我们直接点继续,在后边安装驱动时不要选择包里旧版本的驱动即可。不知道是不是这个道理,但是决定照做试一试。

      

关键一步:

添加以下路径到path环境变量

  C:\ProgramFiles (x86)\Microsoft Visual Studio 14.0\VC\bin

其目的是将VS中的cl.exe编译器与cuda的nvcc编译器相关联。

为了验证cuda是否安装成功,在VS中运行cuda的示例代码,其工程文件路径为C:\ProgramData\NVIDIA Corporation\CUDASamples\v8.0\Samples_vs2015.sln

在解决方案中选择一个示例,比如直接点Ctrl+F5会运行,输出如下,则说明在VS中可以运行cuda代码,还可以再找几个其他的示例调试运行一下测试。


然后我们测试cuda 的nvcc编译器不再vs环境在是否可以编译.cu代码。

我们在C:\Users\当前用户名\下新建test.cu文件,随便写一段C/C++代码:

#include "stdio.h"
int main()
{
    printf("test");
   return 0;
}

然后输入下边的指令编译一下

nvcc -o test.exe test.cu

然后博主在一开始得到如下信息,说明没有添加vs中的cl编译器路径C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin到path环境变量,导致无法编译。添加到path环境变量就好了。


再次运行后提示


没有error,然后再输入

test.exe

nvcc编译器就没有问题了。

4、cudnn加速库(可选)的安装

下载地址:https://developer.nvidia.com/cudnn这个需要先注册一下,然后就可以下载了。

下载下来是一个压缩包,解压出来有三个文件夹,替换掉cuda安装目录下的对应文件夹。cuda默认安装路径为C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA

5、安装theano框架

在cmd中输入:  

pip install theano -U --pre

       等待安装完成。

添加PYTHONPATH环境变量,值为:

C:\Anaconda2\Lib\site-packages\theano

       在C:\Users\当前用户名\ 下新建.theanorc.txt文件,先用cpu模式测试一下theano的基本安装是否成功

[global]
openmp=True
device = cpu
floatX = float32 
allow_input_downcast=True 
[gcc]
cxxflags=-IC:\Anaconda2\MinGW
在cmd中输入python进入python交互环境,然后试一下输入
import theano
theano.test()

       进行theano功能测试,这个耗时比较长,运行完成后如果没有error,theano就基本安装好了。

       博主这里出现若干error,每个error都说找不到一个库(名字记不得了),只需要在cmd里输入pip install xxxxxxxxxx安装上就好了。

      

然后修改.theanorc.txt文件内容如下(最后删掉汉字):

[global]
openmp=False
device = gpu  
optimizer_including=cudnn #不用cudnn的话就不要这句
floatX = float32 
allow_input_downcast=True 
[lib]
cnmem = 0.8
[blas]
ldflags=  
[gcc]
cxxflags=-IC:\Anaconda2\MinGW 
[nvcc]
fastmath = True 
--flags=-LC:\Anaconda2\libs #改成自己装的目录
--compiler_bindir=C:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\bin #改成自己装的目录

在cmd中输入

python

在python交互环境下输入

import theano

提示的是gpu相关信息的话,就说明theano安装成功了。

博主这里一开始会出现错误,一番波折后才发现是因为没有添加vs中的cl编译器路径C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin到path环境变量,导致无法编译,因此要先如步骤4描述的那样验证一下cuda安装是否成功,是否能编译。

       接下来进行速度测试。新建一个test.py 文件,编辑如下

from theano import function, config,shared, sandbox
import theano.tensor as T
import numpy
import time
 
vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
iters = 1000
 
rng = 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 %fseconds" % (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 thegpu')

运行结果如下所示,GTX1050运行耗时0.312秒。

6、安装keras

如果只是安装theano,到第五步就可以了。接下来安装keras。

在cmd中输入

pip install keras -U –pre

提示安装成功后,输入python进入python交互环境,输入

import keras

此时会提示找不到TensorFlow后端。因为keras默认后端是TensorFlow,我们需要改成theano。

在运行了导入keras模块的语句后,keras系统会在目录下建立一个名为.keras的文件夹,我们进入该文件夹,新建keras.json文件,编辑如下:

{
   "image_dim_ordering": "tf",
   "epsilon": 1e-07,
   "floatx": "float32",
   "backend": "theano"
}

然后我们再在python交互环境下输入

	import keras

提示Using Theano backend.就说明keras安装成功了;提示GPU等信息则说明可运行于GPU下。

最后我们下载keras包(在cmd中药事先用cd指令,切换到目标目录下)在cmd中输入:


下载mnist.pkl.gz数据集可能被墙,速度比较慢,可以自备梯子,或者手动下载:

                https://s3.amazonaws.com/img-datasets/mnist.pkl.gzkeras用的mnist数据集,60000 训练样本,10000 测试样本;

放到C:\Users\MilesGe\.keras\datasets目录下,然后再进行运行。

GTX1050显卡运行结果如上图,每轮训练耗时约15秒,整个程序运行总共耗时208.5秒,测试准确度达到了0.9893。


7、Spyder的问题

最后,博主发现.theanorc.txt文件中配置为GPU模式后,打开Anaconda下的python IDE —— Spyder时会奇慢无比,cpu、内存占用很高,打开后ipython内核启动还会失败。若移除.theanorc.txt或者重命名后,可以正常打开Spyder。原因并不清楚,但是打开Spyder时可以先移动.theanorc.txt文件,随后再恢复到原位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值