win10-Anaconda2-Theano-cuda7.5-VS2013
两天的辗转反侧,终于灵光一现找到了错误。
首先,我在win10下配置好了gpu和cudnn版本的caffe。但是因为win平台的限制,caffe用的不够舒服。因为之前用过一阵子theano,虽然很慢,但是灵活啊,于是又将矛头指向了theano。。
theano cpu版本安装很容易,主流方法都是利用Anaconda,方便快捷。
本文主要介绍自己搞gpu和其他人配置时的坑,希望大家可以避免。
1. 文件.theanorc.txt
这里犯了一个很傻*的错误。win10后缀名是隐藏的,因为之前用的是win7后缀名不隐藏,所以自从在win10上安装了theano,此文件相当于被我命名 .theanorc.txt.txt 所以其实一个月来我就一直用的是cpu。。关键我还不知道文件格式都是错的,细思恐极。。下图正解:

2. cuda版本
之前安装caffe的时候,我装的是cuda8,因为我的无知,以为问题出现在cuda上,把cuda卸了,装上了cuda7.5.以下是我遇到过的错误(从参考的博客中截取,因为我不想在改成错误的配置来演示,心痛。。):

好,这张图的错误就是我一直以来的错误,划红线的是主要的错误
我的错因出现在了:'--compiler-bindir ''C:Program Files<x86>\Microsoft Visual Studio 12.0\VC\bin'。 这个compiler bindir 把它理解为编译目录
因为我的这个路径只有:Microsoft Visual Studio 11.0

而在.theanorc.txt文件中需要写nvcc的编译目录,所以网上99%的教程都是compoler_bindir=C:Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
所以我在自己的.theanorc.txt文件里这么写:compoler_bindir=C:Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin
所以永远都不可能正确! 一直有报错找不到 vcvars64.bat 文件。于是我就按照博主的心路历程找到了另一为博主和另另一位博主,按照他们所言,下载了VCForPython27.msi文件,也配置了路径,也 找到了 vcvars64.bat文件,将它复制到了C:Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin里,但是还报错找不到vcvars64文件。直到我幸运的遇到了另另另一位博主,他 的文章里的路径是这样的与众不同:compiler_bindir = D:\software\VS2013\VC\bin。我想怎么在VS安装的路径下呢???我打开自己的VS安装路径,发现里面竟然有vcvars64.bat文 件!!!我仿佛明白了什么,这个路径才是适合自己的!当然为什么我这么确信呢》因为我看到这么一张图:

图1这么写:cuda7.5支持win10,图2这么写:cuda7.5在VS2013下的编译器是Visual C++ 12.0,上面提到过了,我压根儿在C盘没找到啊,于是我确信这个compiler_bindir一定是这样的:

好了,PyCharm里测试下gpu.test:
此时我的.theanorc.txt是这样滴:

跑官网测试gpu的例子:

总算有了gpu信息了!但是还有一些不和谐的东西:CNMeM is disabled, cuDNN not availabel. 就是说cudnn还不能用,当然我还没配置呢。
但是有以下办法消除其他不和谐的信息: 加入[lib] cnmen=0.8 和allow_input_downcast=True

看下结果:

正确!没有错误和bug了。就是cdnn还没用。
注意不能直接在.theanorc.txt中写:optimizer_including=cudnn,会出现如下错误:里面有一行:Reason=CNMEM_STATUS_OUT_OF_MEMORY
意思应该是cnmem初始化设置太大超出了内存状态!所以在.theanorc中注意设置cnmem=0.8,如果还提示内存不够就再往小设置,越小占内存比越少。
另外在错误后面还有个小hint:还可以在.theanorc中设置optimizer=fast_compile,或optimizer=None,这样也可以让程序正确运行。

3.配置cudnn
将cudnn下载后解压会发现有个名为cuda的文件夹里面有三个文件:lib,include,bin。将这三个文件复制到cuda安装目录下进行覆盖替换:

替换cuda原来就有的三个文件夹,这时再运行gpu测试程序,就会发现连cudnn not avaliable 也不见了。完美。
另:感谢知乎er贾峰原话:“有很多人推荐:在用户变量中新建变量pythonpath = C:\Anaconda2\Lib\site-packages\theano; 然后被坑了一把。完全没有必要,而且会导致spyder启动时弹窗,kernel died等问题,这个是我亲测,搞了一天。。。 ” “安装Anaconda时,千万别安装Python 3.5版本的,总显示GPU不能使用。而且千万别安装spyder3系列,即Anaconda4.2.0以上。而应该Python 选择2.7,spyder选择2系列,即Anaconda4.1.1版本及以下。原因是什么呢?因为spyder3总是不调用ipythonw.exe解释器,而调用ipython.exe,导致theano编译的时候,总是弹窗nvcc.exe,”
感谢另一位知乎erRednaxelaFX 的回答 : 为什么运行theano程序时总是会输出一堆DEBUG: nvcc STDOUT mod.cu ?
首先nvcc是NVIDIA CUDA Compiler,跟Visual Studio没啥关系。其次是那个DEBUG:提示信息是完全无害的,只是在调用nvcc编译东西的时候输出的信息。升级Theano的话可能就不会看到它总是打出来了。
注:以上弹窗和DEBUG这俩问题我都有,不过只是Aanconda和Theano的问题,不是错误,无关痛痒,我暂时也懒得折腾。最后,谢谢所有默默为大家提供疑难解答的大神!
主要参考:
手把手教你搭建深度学习平台——避坑安装theano+CUDA
Win7 64位配置GPU版Theano与Keras详细指南(趟坑无数,手把手教你避坑)
Converting to the new gpu back end(gpuarray)
win10-Anaconda2-Theano-cuda7.5-VS2013的更多相关文章
- Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a(转载)
Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a 最近于导师要求下,从头学习Caffe.之前接触了CNN进行了图片分类,后导师提起过Caff ...
- Theano+Keras+CUDA7.5+VS2013+Windows10x64配置
Visual Studio 2013 正常安装,这里只要C++打勾就可以. ANACONDA ANACONDA是封装了Python的科学计算工具,装这个就可以不用额外装Python了.在安装之前建议先 ...
- Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013
折腾了三天终于配置成功了,在此写下编译配置的全部步骤和遇到的很多坑. 整体介绍: OpenCV 中 CUDA 实现的函数还不是太多,使用前要在OpenCV的官网上确认以下你想要的功能是否已经实现,否则 ...
- win10 + gtx1060 + cuda8.0 + caffe + vs2013
1. 安装cuda8.0 1)先去官网下载cuda8.0 https://developer.nvidia.com/cuda-toolkit 2)下载完之后进行安装,安装时间有点长,请耐心等待,默认 ...
- win10 + gtx1060 + cuda8.0 + caffe + vs2013 + Tensorflow + PyTorch
一. 安装cuda8.0 1)先去官网下载cuda8.0 https://developer.nvidia.com/cuda-toolkit 2)下载完之后进行安装,安装时间有点长,请耐心等待,默认 ...
- Win10配Theano环境和Keras框架
网络上有各种各样的win7 64bit安装theano的方法,我也试过好多,各种各样的问题.因为之前没了解过MinGw等东西,所以安装起来比较费劲,经过不断的尝试,最终我按照以下过程安装成功. 其实过 ...
- Anaconda2+Theano 安装过程中的所有的坑。。。
写在前面的废话 上次搞theano安装还是一年多以前..anaconda才出到1.4,当时的AnacondaCE,直接安装完基本上theano啥的都一套成功.. 今天换了个电脑,重装anaconda, ...
- WIN10使用管理员权限运行VS2013
学习WCF时出现报错-- 其他信息: HTTP 无法注册 URL http://+:8083/User/.进程不具有此命名空间的访问权限(有关详细信息,请参见 http://go.microsoft. ...
- OpenCV2.4.8 + CUDA7.5 + VS2013 配置
配置过程主要参考:https://initialneil.wordpress.com/2014/09/25/opencv-2-4-9-cuda-6-5-visual-studio-2013/ 1.为什 ...
- 【VS】VS2013 未找到与约束contractname 匹配的导出
#事故现场 今天win10更新后,打开vs2013新建项目报错: #解决方案: 1.控制面板->程序->程序和功能,找到 Entity Framework Tools for Visual ...
随机推荐
- Nginx反代至Tomcat基于memcached的session保持
实现功能:基于前面tomcat基础简介与示例文章 (1) tomcat cluster将会话保存至memcached中:实现模型: 这里写图片描述 配置B,C主机安装openjdk与tomcat[本次 ...
- 14 Zabbix Item类型之Simple checks类型
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 14 Zabbix Item类型之Simple checks类型 Simple checks通常用 ...
- 自学Zabbix11.3 Zabbix SNMP 常用OID列表
点击返回:自学Zabbix之路点击返回:自学Zabbix4.0之路点击返回:自学zabbix集锦 自学Zabbix11.3 Zabbix SNMP 常用OID列表 点击获取CISCO设备OID 系统参 ...
- Change upload file limit in specified Webapllication in SharePoint (PowerShell)
http://gallery.technet.microsoft.com/office/Change-upload-file-limit-89502ff2 http://sharepointrela ...
- js的==和===练习
今天检查了一下JS的== 和===的区别 如下: 表达式 值 1==true true 1===true false 0==false t ...
- Luogu 1315 【NOIP2011】观光公交 (贪心)
Luogu 1315 [NOIP2011]观光公交 (贪心) Description 风景迷人的小城Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供 ...
- HDU 1176 免费馅饼 (动态规划)
HDU 1176 免费馅饼 (动态规划) Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼 ...
- [POI2010]KLO-Blocks——一道值得思考的题
题目大意: 给出N个正整数a[1..N],再给出一个正整数k,现在可以进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1.经过一定次数的操 ...
- 【SPOJ10628】Count on a tree
题目大意:给定一棵 N 个节点的树,点有点权,要求回答 M 个询问,每次询问点 u 到点 v 的简单路径(链)上权值第 K 小是多少. 题解:学习到了树上主席树. 主席树维护序列时,每次将后一个点的树 ...
- 斯坦福大学公开课机器学习:梯度下降运算的学习率a(gradient descent in practice 2:learning rate alpha)
本章节主要讲怎么确定梯度下降的工作是正确的,第二是怎么选择学习率α,如下图所示: 上图显示的是梯度下降算法迭代过程中的代价函数j(θ)的值,横轴是迭代步数,纵轴是j(θ)的值 如果梯度算法正常工作,那 ...