基于CUDA的Theano GPU加速jdk环境变量配置配置 GPU没有反应.求解答

[转载]Windows安装Cuda配置Theano进行GPU运算
已有 1842 次阅读
|系统分类:|文章来源:转载
搭建环境之前自己曾在网上搜索过相关博客,能找到的中文资料确实不敢恭维,主要存在的问题是版本过低。因此”我曾经跨过山和大海,也穿过人山人海”,参考了别人的很多经验,才有了这篇相对版本较新的中文资料,供大家参考交流。1. & &安装Visual Studio 2013注意:这里并不是VS的版本越新越好(PS: VS2015也已经发布有一段时间了)。首先,我们需要检查待安装的CUDA版本所支持的VS版本,时至今日()我们可以看到,CUDA的最新版本7.5仅提供对VS2013及之前版本的支持。VS2013的安装破解比较简单,在网盘搜索引擎里很容易就能找到安装包和密钥。安装完成后,记得在系统变量path(system PATH)中添加以下两项:C:/ProgramFiles (x86)/Microsoft Visual Studio 12.0/VC/bin/;C:/Program Files(x86)/Microsoft Visual Studio 12.0/Common7/IDE(PS: 如上你需要根据自己的VS的安装路径做出更改,如果只是针对Theano的话,其实可以不用在这里指明cl.exe的位置,因为接下来我们会在.theanorc文件中再定义一次,为了方便其他应用,最好还是写进去吧)。2. & &安装CUDA toolkit进入NVIDA的官网,下载完CUDA &toolkit之后,一键傻瓜式安装。但是,安装之前还是要提醒你检查一下自己机器的显卡是不是NVIDA他们家的。3. & &安装Python开始的时候觉得搞科研嘛,事无巨细都要了解的透彻咯,殊不知纠缠于各种Python工具的安装只是白白把精力浪费在琐碎的、价值很低的问题上。Idea 比tools更重要。可以尝试使用Anaconda,自动的就会帮助你安装完成Python基本环境,并配置好了诸如numpy,scipy等等python科学计算的常用工具包。如果想安装别的包也很方便,在Anaconda Prompt中键入命令:“conda install [工具包名]”即可。安装完成Anaconda之后,需要安装依赖项。conda install mingw libpython4. & &安装theano在以上基础上有两种方法安装theano,差别在于theano的获取途径不同,个人推荐第二种,但是安装之前需要在你的机器上安装git。方法一:使用pip install theanoor pip install --upgrade --no-deps git+git:///Theano/Theano.git方法二:安装完git后,命令行cd入D:/anaconda2/Lib/site-packages目录下,从github中获取安装文件:git clone git:///Theano/Theano.git然后进入Theano目录下,执行以下命令cd Theanopython setup.pydevelop不管使用方法一还是方法二,完成以上过程之后需要在你的HOME目录(类似于c:/Users/YOURNAME/)下创建一个名为 .theanorc.txt的文件(注意文件的开始有一个点),内容如下:[global]floatX = float32device = gpu[nvcc]flags=-LC:/SciSoft/Anaconda/libscompiler_bindir=C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin标记为红色的部分要根据你的anaconda安装目录以及VS2013的安装目录自行选定。5. & &安装PyCUDA下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycuda我的Python版本是2.7,所以我下载的是pycuda&#.3+cuda;cp27‑none‑win_amd64.whl安装pip install pycuda&#.3+cuda;cp27‑none‑win_amd64.whl6. & &测试Theano和PyCUDA最简单的import测试:import theano输出:Using gpu device0: GeForce GT 640M (CNMeM is disabled)根据theano的文档(文档地址:http://deeplearning.net/software/theano/tutorial/using_gpu.html)示例snippet测试:from theano import function, config, shared, sandboximport theano.tensor as Timport numpyimport time vlen = 10 * 30 *768 &# 10 x #cores x # threads per coreiters = 1000 rng = numpy.random.RandomState(22)x =shared(numpy.asarray(rng.rand(vlen), config.floatX))f = function([],T.exp(x))printf.maker.fgraph.toposort()t0 = time.time()for i inxrange(iters): & &r = f()t1 = time.time()print 'Looping%d times took' % iters, t1 - t0, 'seconds'print 'Resultis', rifnumpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]): & &print 'Used the cpu'else: & &print 'Used the gpu'得到的结果如下:Using gpu device0: GeForce GT 630M (CNMeM is disabled)[GpuElemwise{exp,no_inplace}(&CudaNdarrayType(float32,vector)&), HostFromGpu(GpuElemwise{exp,no_inplace}.0)]Looping 1000times took 1. secondsResult is [1... ..., &2.. &1.]Used the gpu测试PyCUDA(文档地址: http://documen.tician.de/pycuda/index.html)import pycuda.autoinitimport pycuda.driver as drvimport numpy piler import SourceModulemod = SourceModule(&&&__global__ &void multiply_them(float *dest, float *a, float *b){ &const int i = threadIdx.x; &dest[i] = a[i] * b[i];}&&&) multiply_them =mod.get_function(&multiply_them&) a =numpy.random.randn(400).astype(numpy.float32)b =numpy.random.randn(400).astype(numpy.float32) dest = numpy.zeros_like(a)multiply_them( & & & &drv.Out(dest), drv.In(a), drv.In(b), & & & &block=(400,1,1), grid=(1,1)) print dest-a*b测试结果:如果你看到了一堆0那么就要恭喜你了。至此,我们完成了在WIN10系统上针对GPU平台搭建theano深度学习框架的全部过程。多提一点,如果你不希望运行在GPU上的话,也很简单,上述步骤中你可以省略”安装CUDA”、”安装PyCUDA“、“安装VS2013”等过程,然后配置的时候.theanorc.txt文件中包括[nvcc]在内的其所标注的全部内容都删掉就可以了。References:
转载本文请联系原作者获取授权,同时请注明本文来自陆宇振科学网博客。链接地址:
上一篇:下一篇:
当前推荐数:0
评论 ( 个评论)
扫一扫,分享此博文
作者的其他最新博文
热门博文导读
Powered by
Copyright &you have been blocked艰辛五天:Ubuntu14.04+显卡驱动+cuda+Theano环境安装过程
时间: 19:01:15
&&&& 阅读:5671
&&&& 评论:
&&&& 收藏:0
标签:题记:从一开始不知道显卡就是GPU(虽然是学计算机的,但是我真的不知道…脑残如我也是醉了),到搞好所有这些环境前后弄了5天时间,前面的买显卡、装显卡和装双系统见另一篇博客,这篇主要记录我怎么配置后面的环境,虽然中间重装Ubuntu三次,后面安装过程也没差别。
基础平台:64-bit,Ubuntu14.04
1.安装NVIDIA驱动(参考,基本是复制啊,蟹蟹作者~)
(1) 在官网下载,根据自己买的型号选择下载,放到 /home/lvxia/ 目录下面,我下载的是NVIDIA-Linux-x86_64-367.27.run.
(2) 屏蔽开源驱动 nouveau(原文章说“可以不编辑blacklist.conf,NVIDIA.run驱动程序可以自己停止其他开源驱动,但是需要重启”)
sudo gedit /etc/modprobe.d/blacklist.conf
添加以下内容保存
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
(这里有一行空格)
(3) 删除旧NVIDIA驱动
sudo apt-get --purge remove nvidia-*(需要清除干净)
sudo apt-get --purge remove xserver-xorg-video-nouveau
(4) 重启电脑。
(5) 按Ctrl + Alt +F1(F1~F6均可)到x-server, Ctrl+Alt+F7是返回
(6) 关闭图形环境,否则驱动无法正常安装
     输入用户名密码登录,然后键入命令后执行(数字不能用小键盘输入)
sudo service lightdm stop
    成功关闭服务后将出现:lightdm stop/waiting
(7) 进入驱动所在的文件夹,这里就是/home/lvxia,执行
sudo sh NVIDIA*.run
原文章链接里的 sudo sh NVIDIA.run 执行失败,键入用户密码。后面就一路Accept就可以~报错The distribution-provided pre-install script failed!不必理会,继续安装。最重要的一步,安装程序问你是否使用nv的xconfig文件,这里一点要选yes,否则在启动x-window时不会使用nv驱动。
至此,安装成功~
(8) 重启 X-window 服务
sudo service lightdm start
查看显卡是否装好,运行
glxinfo | grep rendering
假如显示&direct rendering: Yes&,则已安装。
原技术文章写了另一PPA源方法,我没有测验过,就不贴了~~
2.安装Theano、cuda支持
     这里看了很多不错的技术博客,但是因为没有一个是完全适合我的情况的,也入了不少坑,所以我自己也记录一个吧~
     蟹蟹作者们~~
2.1 安装Theano
(1) 预先安装工具
sudo apt-get install -y python-dev python-pip python-nose gcc g++ git gfortran
(2) 安装BLAS, LAPACK, ATLAS
sudo apt-get install -y libopenblas-dev liblapack-dev libatlas-base-dev
(3) 安装NumPy
后面安装的每一步测试为 0 errors,才能进行下一步~~时间都挺长的啊~
sudo pip install numpy
#进行测试。
python -c ‘ numpy.test()‘
也可以命令python进入—&import numpy—&numpy.test()。
(4) 安装scipy
sudo pip install scipy
python -c ‘ scipy.test()‘
(5) 安装Theano
sudo pip install Theano
sudo python -c ‘ theano.test()‘
这个测试的时候遇到 ImportError:No module named nose-parameterized 错误,后来执行:
pip install nose_parameterized
再次测试就木有问题啦,等了好久~以上操作我都是参考博客2的,然后后面我按照他的操作装cuda时,install libgl1-mesa-glx的时候出现依赖包问题解决不了,报以下错误:
The following packages have unmet dependencies:
unity-control-center:      Depends:libcheese-gtk23(&=3.4.0) but it is not going to be installed
                                  Depends:libcheese7(&=3.0.1) but it is not going to be installed
令人抓狂的错误提示,后面搞这个搞了一两天,最后还是没有正面解决这个问题,不更新/更新系统补丁、不换/换软件源都不行,明明已经安装了依赖的包,但是却总提示包不被安装,最后通过另一篇博客里介绍的方法安装cuda了。。
2.2 安装Cuda(参考博客3)
(1) 验证电脑是否有显卡支持
lspci | grep -i nvidia
我买的是GTX 960,穷人版本…
(2) 查看Linux的版本
uname -m && cat /etc/*release
(3) 查看gcc版本
gcc --version
(4) 下载nvidia cuda的仓库安装包,找到自己电脑对应系统对应版本。
注意选择的是deb(network).
wget http://developer./compute/cuda/repos/ubuntu/cuda-repo-ubuntu-18_amd64.deb
直接下载到主目录下了~~
(5) 安装cuda软件包
sudo dpkg -i cuda-repo-ubuntu-18_amd64.deb
(6) 更新本地仓库
sudo apt-get update
(7) 安装cuda啦
sudo apt-get install cuda
原来的技术博客里说Ubuntu系统安装好后不要更新系统补丁,原因见 .
echo ‘export PATH=/usr/local/cuda-7.5/bin:$PATH‘ && ~/.bashrc
echo ‘export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH‘ && ~/.bashrc
source ~/.bashrc
这里最好重启一下电脑,因为我按照操作后测试deviceQuery时一开始是不对的,重启电脑后就好了~
(1) 查看NVCC编译器的版本
(2) 查看显卡的驱动版本
cat /proc/driver/nvidia/version
(3) 安装cuda的示例代码
cuda-install-samples-7.5.sh /home/lvxia/cuda
(4) 编译代码
cd cuda/NVIDIA_CUDA-7.5_Samples/
(5) 运行代码
cd bin/x86_64/linux/release/
sudo ./deviceQuery
sudo ./bandwidthTest
最后一行 result=pass表示通过~
3. 验证环境
(1) 新建test.py,复制如下内容保存,(主目录/home/lvxia下)
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):
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‘)
print(‘Used the gpu‘)
(2)新建 .theanorc 设置GPU代替CPU运算(主目录)
可以使用 gedit 打开,因为 vi 不太会操作。。复制如下内容到文件中保存。这个文件在home目录下看不到,可以通过命令 ls –all 看到的~
floatX=float32
device=gpu
(3) 运行test.py
python test.py
最后一行显示 used the gpu 就对啦~
然后有句提示CNMEM is disabled, cuDNN not available, 资料说CNMEM可以不用管,Theano支持cuDNN(可选),但是Tensorflow必须要cuDNN,所以就装cuDNN了。
(4) 安装cuDNN
cuDNN是专门针对deep learning框架设计的一套GPU计算加速方案,首先需要注册一下,然后才能下载。
进入Downloads目录
tar xvzf cudnn-7.5-linux-x64-v5.0-ga.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cd -a cuda/lib64/libcudnn*
/usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
有个技术里说的问题我这里没遇到。
再运行test.py,提示 CNMEM is disabled, cuDNN 5005对啦~!
后面发现了一些不错的博客,没有测试,贴在这后面看看 、
end,happy~标签:
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!Windows 7+Anaconda+Theano+Keras+VS2010+CUDA GPU加速-_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Windows 7+Anaconda+Theano+Keras+VS2010+CUDA GPU加速-
&&深度学习(Deep Learning)环境搭建。在windows 7上,使用Python的科学计算环境Anaconda、VS2010搭建Theano和Keras的深度学习环境,并使用CUDA进行GPU加速。
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩6页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢Win7+CUDA8.0+VS2015+Theano0.8配置GPU加速环境
Theano0.8的安装通过Anaconda然后pip install theano,细节参照Theano的官方文档http://deeplearning.net/software/theano/install_windows.html,只要能import theano成功就可以了(或者把文档中的一个sample跑通也可以)。
CUDA直接在下载,照着官方的安装提示一步步来就行,没什么坑。 安装完后可以在cmd下看一下版本(输入nc -V回车即可),然后运行C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\1_Utilities\deviceQuery 下的VS工程文件(参见),编译运行后应该是输出电脑的GPU设备信息等,这就说明CUDA安装成功了!
然后是调用GPU,也是按照先前给的Theano官方文档去做。主要就是新建一个.theanorc.txt(里面的内容找着网上的填就行),然后需要gcc的编译器,我是用了mingw。
我先前由于没有配好VS2015的环境,总是没办法用上GPU,后来参照一些博客如:&&,环境变量配置,具体来说要配置成能够再cmd下直接用cl命令来编译链接.c和.cpp文件。 在此过程中有一个坑,就是配置环境时,添加的PATH、INCLUDE、LIB变量要统一成32位或者64位,我当初PATH设置成(VS安装路径)&/VC/bin (该路径下的cl.exe其实是32位的),而INCLUDE和LIB都是用的x64的,结果一直报错,后来PATH改成了(VS安装路径)&/VC/bin/x86_amd64 才成功。
最后运行Theano官网给出的,速度比单纯使用CPU提升15倍!
Nvidia官网给出的兼容性情况:

我要回帖

更多关于 环境加速试验 的文章

 

随机推荐