一.软件和环境

(1)安装日期2016/12/23;

(2)原材料VS2013,cuda-8.0(最好下载cuda7.5,目前theano-0.8.2对cuda-8支持不是很好),Anaconda3-4.2.0(64位);

(3)环境为win10.

二.安装步骤

(1)安装VS2013。这个没什么可说的,下载64位版本后就是一路下一步、确定就行,记住安装位置就可以了,我这里的安装目录是D:\software\VS2013:

接着右键我的电脑-》属性-》高级系统设置-》环境变量,之后编辑系统变量Path,加入两个路径D:\software\VS2013\VC\bin和D:\software\VS2013\Common7\IDE,以分号隔开,如图:

点击确定即可。

(2)安装cuda。这个也没什么可说的,到官网上下载cuda,并一路下一步+确定就好了,注意如果安装过程中win10提示阻止某项操作,一定要选择允许本次操作或允许程序所有操作,否则cuda就会安装失败。Cuda官网地址为

http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/#axzz46v2MC6l8,

下载地址为https://developer.nvidia.com/cuda-downloads,

如图:

(注意:这是cuda-8版本,对目前版本的theano支持不是很好,不过不影响使用,最好还是下载cuda7.5,我这里懒得再重装一遍,所以就用的cuda-8)

还有一定要记住cuda的安装路径,我的路径就是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0,如图:

(3)右键我的电脑-》属性-》高级系统设置-》环境变量,可以看到系统变量中增加了两个变量CUDA_PATH和CUDA_PATH_V8_0,如图:

之后编辑系统变量Path,加入两个路径%CUDA_PATH%\lib\x64和%CUDA_PATH%\bin,要用分号隔开,如图:

点击确定。

打开命令行,输入nvcc -V,如果出现下图则安装成功:

并可到目录C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\1_Utilities\deviceQuery下用VS2013打开并运行测试样例deviceQuery_vs2013.vcxproj文件,如图:(注意C:\ProgramData为隐藏文件夹,需要点击C盘-》查看-》选项-》查看,选中显示隐藏的文件、文件夹和驱动器,点击确定。如图)

图为显示C:\ProgramData文件夹的查看选项

图为deviceQuery_vs2013.vcxproj的位置

图为在VS2013中的运行结果

最后一行为Result = Pass则表示安装配置成功。

(4)安装Anaconda3-4.2.0,这个很简单,就是一路确定即可,记住安装位置,如我就是安装在D:\software\Anaconda3,如图:

接着右键我的电脑-》属性-》高级系统设置-》环境变量,在用户变量中添加PATH,并加入路径D:\software\Anaconda3,D:\software\Anaconda3\Scripts和D:\software\Anaconda3\Library\bin,点击确定。如图:

之后进入命令行输入python,如果出现如图信息,则安装成功:

关闭命令行。

(5)安装mingw和libpython。打开命令行后输入conda install mingw libpython即可,目前libpython已经支持python3.5了,就不用再配置python3.4的环境了。注意如果安装mingw速度很慢,则可ctl+c并退出命令行,再进入命令行修改Anaconda的镜像,这里推荐清华的镜像,方法为在命令行中输入:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --set show_channel_urls yes

,之后再conda install mingw libpython即可。

之后到Anaconda3的安装目录中可以看到MinGW的文件夹,如图:

(注:网上说需要把MinGW的路径加入到环境变量,其实不用,等会儿再theano的配置文件中标出MinGW的位置即可)

(6)安装theano。首先打开命令行,输入conda install scipy,之后再输入pip install theano即可。(为什么要输入conda install scipy我也不明白,但是网上建议)。之后在个人主文件夹下新建一个“.theanorc.txt”的文档。个人主文件夹就是打开命令行后所显示的文件夹路径,比如我的就是C:\Users\15540:

注意theano的配置文件为.theanorc.txt,注意前面那个点要有,并且文件名为.theanorc,.txt是文件类型,不要弄错。打开.theanorc.txt写入以下信息:

[global]

openmp=False

device = gpu

optimizer_including=cudnn

floatX = float32

allow_input_downcast=True

[lib]

cnmem = 0.8

[blas]

ldflags=

[gcc]

cxxflags=-ID:\software\Anaconda3\MinGW

[nvcc]

flags = -LD:\software\Anaconda3\libs

compiler_bindir = D:\software\VS2013\VC\bin

fastmath = True

注意需要把cxxflags=-ID:\software\Anaconda3\MinGW换成你的Anaconda3中MinGW的位置,flags = -LD:\software\Anaconda3\libs换为你的Anaconda3中libs的位置,compiler_bindir = D:\software\VS2013\VC\bin换为你的VS2013中VC\bin的位置;还有cnmem = 0.8这个网上说设为1,但是貌似有点问题,建议设为小于1的值,如我这里设为0.8 ,这就可以避免后面显示CNMEM is disabled了。

(7)更新cudnn文件,到网上搜索cudnn下载下来(到官网注册一下就可以下载了,官网网址为https://developer.nvidia.com/cudnn)。将下载来的文件解压,解压出cuda文件夹,里面包含3个文件夹,如图。将设三个文件夹替换掉系统里面的对应文件,进行覆盖替换即可,例如我的文件目录为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0。覆盖掉后面导入theano时会就不会出现CuDNN not available提示了。

(8)测试theano。打开命令行,输入python,在输入import theano,如果出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 11: invalid continuation byte这种编码问题,这是因为掉用nvcc返回的字符串是使用的cwindows默认的默认编码,直接找到theano中对应的报错文件,把源码出错的地方改为 *.decode("GBK")就可以。比如我的是在theano下的__init__.py出现的编码问题,则修改为:

(如果出现上述错误,关闭命令行修改错误,重输一遍命令即可)出现以下画面则表示成功。

(注:可以看到仍有warning,不过不影响使用,出现warning的原因主要是cuda-8对目前版本的theano支持不太好导致,不过相信以后更新的theano会解决这个问题,如果实在接受不了这个warning就安装cuda7.5,步骤一样)

三.其他问题

(1)不要在环境变量添加PYTHONPATH变量,否则容易在import theano后出现configparser找不到或没有这个组件这个问题(在我这里是这样的);

(2)建议在安装完cuda后重启电脑;

(3)如果在命令行输入命令后出现什么问题,建议修改完问题后重启命令行;

(4)如果还有其他问题,试试重启电脑后在import theano,如果还有问题,一般就是配置文件.theanorc.txt的问题(我这个配置方式不一定百分之百的适合你),下面列出一些我参考的文章:

http://blog.csdn.net/u011821462/article/details/50145221

http://blog.csdn.net/stormragewang/article/details/51261465

http://blog.csdn.net/voidfaceless/article/details/53711550

Win10环境下安装theano并配置GPU详细教程的更多相关文章

  1. 个人亲测,在win10系统下安装多实例mysql8.0详细教程

    由于公司的新项目需要导入sql脚本,需要更高版本的mysql数据库,原来的数据库我也不想删除和升级,因此安装了第二个mysql8的实例,废话不多说,步骤如下: 1.下载mysqlGPL版本,我下载的版 ...

  2. YApi——手摸手,带你在Win10环境下安装YApi可视化接口管理平台

    手摸手,带你在Win10环境下安装YApi可视化接口管理平台 YApi YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建 ...

  3. win10环境下安装Ubantu双系统(超详解)

    win10环境下安装Ubantu双系统 1.准备工作: 先去ubantu官网(https://www.ubuntu.com/download)去下载ubantu镜像.根据自己的实际情况选择32位的或者 ...

  4. Java入门——在Linux环境下安装JDK并配置环境变量

    Java入门——在Linux环境下安装JDK并配置环境变量 摘要:本文主要说明在Linux环境下JDK的安装,以及安装完成之后环境变量的配置. 使用已下载的压缩包进行安装 下载并解压 在Java的官网 ...

  5. Linux 下非 root 用户安装 theano(配置 GPU)

    非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...

  6. 【Docker】win10环境下安装Docker

    一.进入Docker官网 首先先到Docker官网下载最新官方Docker for Windows:Docker下载 在官网内可以查看到Docker的开发文档. 根据官网提示,Windows环境下下载 ...

  7. Win10环境下安装压缩包版本MySQL-8.0.13

    准备工作 系统环境:Windows 10 1803版本: 压缩包:MySQL-8.0.13 Windows zip包下载: 安装过程 1. 加载安装包到你的安装目录 将下载的MySQL压缩包解压并移到 ...

  8. 在win10环境下安装eclipse mars版本

    1下载eclipse软件.下载地址:http://www.eclipse.org/downloads/ 不要下载.exe文件.直接下载安装包,下载对应的安装包,我下载的是这个Eclipse IDE f ...

  9. .NetCore Linux环境下安装InfluxDB以及配置设置

    Linux下安装 确定需要安装的版本,我的linux是干净的,所以我需要先安装wget yum -y install wget 下载安装 wget https://dl.influxdata.com/ ...

随机推荐

  1. WebApi系列~安全校验中的防篡改和防复用

    回到目录 web api越来越火,因为它的跨平台,因为它的简单,因为它支持xml,json等流行的数据协议,我们在开发基于面向服务的API时,有个问题一直在困扰着我们,那就是数据的安全,请求的安全,一 ...

  2. Android上dip、dp、px、sp等单位说明

    Android上dip.dp.px.sp等单位说明 dip  device independent pixels(设备独立像素). 不同设备不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA ...

  3. Atitit  数据存储的分组聚合 groupby的实现attilax总结

    Atitit  数据存储的分组聚合 groupby的实现attilax总结 1. 聚合操作1 1.1. a.标量聚合 流聚合1 1.2. b.哈希聚合2 1.3. 所有的最优计划的选择都是基于现有统计 ...

  4. cordova填坑

    cordova填坑

  5. fabric upgrade from old crashlystic stuck in build

    提示build,一直没有反应. 问题:工程中原有的shell命令屏蔽掉了

  6. PHP的学习--PHP的引用

    引用是什么 在 PHP 中引用意味着用不同的名字访问同一个变量内容.这并不像 C 的指针,替代的是,引用是符号表别名.注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字.最 ...

  7. Socket桥(转载)

    最好方案:使用haproxy 或者nginx转发.自己写程序性能和监控难保证,推荐使用开源软件替代. 源地址为:http://baishaobin2003.blog.163.com/blog/stat ...

  8. MySQL ibdata1文件迁移

    目的:主机系统/var目录快满了,经查询最大的文件是mysql的ibdata1文件,有17G大小,故需要迁移这个文件到其他目录下,以释放/var目录空间. 1.先备份下数据库是个好习惯 # mysql ...

  9. JAVA 设计模式 命令模式

    用途 命令模式 (Command) 将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化:对请求排队或请求日志,以及支持可撤销的操作. 命令模式是一种行为型模式. 结构

  10. Elasticsearch——集群相关的配置

    cluster模块主要用于控制分片在节点上如何进行分配,以及何时进行重新分配 概览 下面的一些资料可以进行相关的配置: Cluster Level Shard Allocation用于配置集群中节点如 ...