ubuntu16.04安装cuda10.2_opencv cuda

ubuntu16.04安装cuda10.2_opencv cuda由于实验需要,在实验室电脑上搭建深度学习Caffee框架。一共花了两天的时间,其中遇到了不少的问题,记录一下。Caffee在配置上相对来说比较麻烦,需要前期安装的东西比较多,逐一介绍。CUDA:NVIDIA系列显卡支持的GPU编程框架,其实如果本身电脑是AMD的显卡,不用装也可用Caffee,只是速度会比较慢。所以最好有一块像样的显卡,最后我就败在这个上面了。。。MKA或是OpenAtlas

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

由于实验需要,在实验室电脑上搭建深度学习Caffee框架。一共花了两天的时间,其中遇到了不少的问题,记录一下。
Caffee在配置上相对来说比较麻烦,需要前期安装的东西比较多,逐一介绍。

  1. CUDA:NVIDIA系列显卡支持的GPU编程框架,其实如果本身电脑是AMD的显卡,不用装也可用Caffee,只是速度会比较慢。所以最好有一块像样的显卡,最后我就败在这个上面了。。。
  2. MKA或是OpenAtlas或atlas:这个是科学计算库,三种选安装一个就行了。MKA是Intel公司推出的,性能以及服务上会比较好,学生的话可以上官网上申请学生试用版。但是这个比较大,建议安装atlas就可以了,Caffee默认用的就是这个。
  3. OpenCV:这个做图像的都知道,我就不多说了。
  4. Python:现在流行的脚本编程语言,Caffee支持使用。或者安装Anaconda2也行,Anaconda2是独立于Python的一个库,用这个也可以。
  5. 最后这个也是最重要的,操作系统。linux就可以了,我用的是Ubuntu14.04。

下面一步步来详细说,默认你已经安装好Ubuntu系统,如果还没有,网上教程找找看。

CUDA安装

  1. NVIDIA显卡驱动安装
    Ubuntu14.04默认安装的显卡驱动是nouveau,这个不适合。所以需要安装新的显卡驱动。这部分查看我的一篇博客 Ubuntu 14.10安装显卡驱动 ,方法是一样的。

  2. CUDA6.5安装
    从官网上下载对应的安装包,我这里下载的是cuda_6.5.14_linux_64.run。这个安装包里其实有三个部分,包括一个显卡驱动、CUDA安装包还有一个CUDA例子。在安装过程中注意显卡驱动不需要安装了,注意!

sudo ./cuda_6.5.14_linux_64.run

这样CUDA应该已经安装了,但是安装最后会提示会有些问题,这个其实是samples编译需要的库没有安装,后续安装即可,暂时不管。安装CUDA需要最后完成三件事。默认的安装目录为/usr/local/cuda-6.5
第一:把CUDA安装后的bin加入到系统环境变量中

sudo vim /etc/profile
文件中添加 export PATH=/usr/local/cuda-6.5/bin/:$PATH

Jetbrains全家桶1年46,售后保障稳定

执行使配置生效

source /etc/profile

第二:把CUDA编程需要的库加入到系统链接库中
在/etc/ld.so.conf.d/目录下建立cuda.conf文件,写入

/urs/local/cuda-6.5/lib64

执行使配置生效

sudo ldconfig

第三:编译CUDA提供的samples,samples默认的安装目录为/home/yourname/NVIDIA_CUDA-6.5_Samples
下载需要的库,这个是上面安装CUDA时最后提示问题需要的库,这里安装就可以了。

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev

编译samples,进入到samples目录下面

sudo make

完成后,测试一下有没有成功。进入samples/bin/x86_64/linux/release目录,里面有个deviceQuery程序,执行即可

sudo ./deviceQuery

如果出现下面的信息,则表示CUDA已经没有问题了。。。(电脑显卡太差了。。。)

jianghh@jianghh-Precision-T1500:~/NVIDIA_CUDA-6.5_Samples/bin/x86_64/linux/release$ ./deviceQuery
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce 310"
  CUDA Driver Version / Runtime Version          6.5 / 6.5
  CUDA Capability Major/Minor version number:    1.2
  Total amount of global memory:                 512 MBytes (536477696 bytes)
  ( 2) Multiprocessors, (  8) CUDA Cores/MP:     16 CUDA Cores
  GPU Clock rate:                                1402 MHz (1.40 GHz)
  Memory Clock rate:                             790 Mhz
  Memory Bus Width:                              64-bit
  Maximum Texture Dimension Size (x,y,z)         1D=(8192), 2D=(65536, 32768), 3D=(2048, 2048, 2048)
  Maximum Layered 1D Texture Size, (num) layers  1D=(8192), 512 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(8192, 8192), 512 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       16384 bytes
  Total number of registers available per block: 16384
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  1024
  Maximum number of threads per block:           512
  Max dimension size of a thread block (x,y,z): (512, 512, 64)
  Max dimension size of a grid size    (x,y,z): (65535, 65535, 1)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             256 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels: Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      No
  Device PCI Bus ID / PCI location ID:           1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = GeForce 310
Result = PASS

OpenCV安装
关于OpenCV在ubuntu下的安装方法,有人写了完整的脚本,直接用就行了。下载地址:https://github.com/jayrambhia/Install-OpenCV
下载适合自己的版本脚本,执行即可

sudo ./opencv2_4_9.sh

atlas安装
这个直接安装即可

sudo apt-get install libatlas-base-dev 

安装后,把相应的库添加到系统的链接库路径中。atlas默认安装目录为/usr/lib/atlas-base/
在/etc/ld.so.conf.d/目录下添加atlas.conf,文件中添加

/usr/lib/atlas-base
/usr/lib/altas-base/atlas

执行使配置生效

sudo ldconfig

安装其他的依赖库

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

安装Python环境
系统默认有python环境,我们先安装pip

sudo apt-get install python-pip

下载caffee包,解压后进入python目录,执行下面命令

for req in $(cat requirements.txt); do sudo pip install $req; done

这样前面部分就差不多了,开始安装caffee
Caffee安装
进入caffee目录,先复制一下配置文件Makefile.config,这个里面是一些参数可能需要修改。大家直接看自己配置情况修改就没问题了,下面开始编译Caffee。

make all -j4
make test
maket runtest

这样整个就没问题了,剩下你就可以看caffee提供的例子了。我试了一下mnist这个数据,正确率有99.07%!!!很牛叉呀。。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/226887.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 正则表达式替换某个字符「建议收藏」

    正则表达式替换某个字符「建议收藏」需要匹配指定位置的某个字符示例:替换时间戳中的最后一个冒号为.号//原始字符串letstr="18:78:45:222"//匹配letreg=/^(.{5,8}):(.*)$/g//替换letresult=str.replace(reg,"$1*$2")希望有更好的方法,看官们留个言呗…

  • Linux通配符和正则表达式通配符 区别_linux正则表达式语法

    Linux通配符和正则表达式通配符 区别_linux正则表达式语法1、 通配符通配符是shell在做PathnameExpansion时用到的。说白了一般只用于文件名匹配,它是由shell解析的,比如find,ls,cp,mv等。 1、1Shell常见通配符:通配符含义实例*匹配0或多个字符a*ba与b之间可以有任意长度的任意字符,也可以一个也没有,如aabcb,axyzb,a012b,ab。?匹配任意一个字符a?ba与b之间必须也只能有一个…

  • 手把手教你 | 识别色环电阻/贴片电阻阻值「建议收藏」

    手把手教你 | 识别色环电阻/贴片电阻阻值「建议收藏」电阻元件的电阻值大小一般与温度,材料,长度,还有横截面积有关,通常贴片电阻电阻表面都标识数字,色环电阻多采用色标法标记阻值。本期视频就跟安迪一起学习如何计算电阻阻值吧~手把手教你|识别色环电阻/贴片电阻阻值…

  • 怎么从安卓设备转移数据到苹果_安卓换苹果如何转移数据?

    怎么从安卓设备转移数据到苹果_安卓换苹果如何转移数据?展开全部可以用网盘工具来操作下。比方说用百度网盘,找到里面的“手机备份32313133353236313431303231363533e58685e5aeb931333431373266”功能,然后将数据都备份好。后面再到苹果手机上,安装一个百度网盘,然后将数据再保存到手机上就行了。手机上的数据要是不小心删除了,那可以通过强力恢复精灵找回(iPhone专用)。二、苹果手机数据转移到新iPhone1…

  • goland刷新时间永久激活破解方法

    goland刷新时间永久激活破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • websocket深入浅出

    websocket深入浅出websocket简介websocket是什么答:它是一种网络通信协议,是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。为什么需要websocket?疑问?我们已经有了HTTP协议,为什么还需要另一个协议?它能带来什么好处?答:因为HTTP协议有一个缺陷:通信只能由客户端发起我们都知道轮询的效率低,非常浪费资源(因为必须不停连接,或者HTTP…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号