版权声明:文章原创,转载请注明出处,多谢!

声明

本文是关于ubuntu14.04+CUDA7.5+cuDNN+caffe的超详细完整配置过程的说明。

小菜是刚接触深度学习领域的小白,在配置caffe的过程中遇到很多困难,一度纠结崩溃甚至想放弃,但是最终配置成功,看着Demo运行,还是非常有成就感和愉悦感的。也更加坚定了遇到问题时要坚持不懈,最终会解决的信念。在此写下博客,记录下安装、学习过程。如果小伙伴们能再此找到解决问题之道,那更是对本人文章莫大的肯定。欢迎大家批评指正^.^

首先说一下电脑配置和用到的软硬件的版本。

电脑型号:B5400

CPU:c4200M

显卡:集成显卡Inite+独立显卡Nvidia820M

操作系统:Ubuntu14.04(内核版本3.13!)

各个软件版本:

gcc:4.8.2,

CUDA7.5,caffe,cuDNN,OpenCV,Python2.7,

正文之前

正文之前先说一下个人感触:本人在装软件之前,只知道有caffe这么个深度学习的框架,对Linx系统,配置文件,命令行啥的一窍不通(没办法,本科欠下太多的东西,都要还的......)。开始照搬网上的方法,一通乱搞,最后可想而知以失败告终,于是慢慢熟悉每一个细节,耐心搞懂每一个语法,每个软件的作用,参考了官方的文档和官方说明。在这一过程中,有两点的感触最深:1.一定要注意版本问题(血泪教训);2.一定要多研究官方文档,说明!

正文

##一.安装ubuntu系统

##二.安装CUDA-7.5

#检查自己的电脑是否具有安装CUDA的条件

a)检查GPU是否是CUDA-capable
    $ lspci | grep -i nvidia
    官网查看是否在列表中,并注意camput ability
b)检查自己的Linux版本书否支持CUDA(Ubuntu 14.04没问题)
c)检查自己的系统中是否装了gcc
    $ gcc --version
d)检查是否安装了kernel header和 package development
    $ uname -r 可以查看自己的kernel版本信息
    $ sudo apt-get install linux-headers-$(uname -r)可以安装对应kernel版本的kernel header和package development

#选择安装CUDA的方式

CUDA提供两种安装方式:package manager安装和runfile安装。我本来选的是 package manager 安装,这种方法相对简单,但尝试了几次都失败。后来是转换到runfile安装才成功的。因此此处只介绍runfile安装方式。
a) 禁用 nouveau
    终端中运行:$ lsmod | grep nouveau,如果有输出则代表nouveau正在加载。
    Ubuntu的nouveau禁用方法:在/etc/modprobe.d中创建文件blacklist-nouveau.conf,在文件中输入一下内容

blacklist nouveau  #第一个配置文件
        options nouveau modeset=0  
    打开终端,运行
        $ sudo update-initramfs -u
    设置完毕可以再次运行 $ lsmod | grep nouveau 检查是否禁用成功,如果运行后没有任何输出,则代表禁用成功。
b)安装依赖项
1. sudo apt-get install freeglut3-dev
2. sudo apt-get install build-essential
3. sudo apt-get install libx11-dev
4. sudo apt-get install libxmu-dev
5. sudo apt-get install libxi-dev
6. sudo apt-get install libgl1-mesa-glx
7. sudo apt-get install libglu1-mesa
8. sudo apt-get install libglu1-mesa-dev
重启电脑,到达登录界面时,alt+ctrl+f1,进入text mode,登录账户
c) 输入 $ sudo service lightdm stop 关闭图形化界面
d) 切换到cuda安装文件的路径,运行$ sudo sh cuda_7.5.18_linux.run
    遇到提示是否安装openGL ,选择no(如果你的电脑跟我一样是双显,且主显是非NVIDIA的GPU需要选择no,否则可以yes)。其他都选择yes或者默认。安装成功后,会显示installed,否则会显示failed。
e) 输入 $ sudo service lightdm start 重新启动图形化界面
Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。
如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了。

f)重启电脑。检查Device Node Verification。
    检查路径~/dev下 有无存在名为nvidia*(以nvidia开头)的多个文件(device files).如果没有的话,可以参考官方文档里的指导步骤,进行添加。
g)设置环境变量。
    终端中输入 $ sudo gedit /etc/profile  在打开的文件末尾,添加以下两行。 #第二个配置文件
        $ export PATH=/usr/local/cuda-7.5/bin:$PATH
        $ export LD_LIBRARY_PATH=/usr/local/cuda7.5/lib64
保存文件。

#安装完毕后的检查工作。

a) 检查 NVIDIA Driver是否安装成功
终端输入 :$ cat /proc/driver/nvidia/version 会输出NVIDIA Driver的版本号
b) 检查 CUDA Toolkit是否安装成功
终端输入 : $ nvcc --version 会输出CUDA的版本信息
c) 尝试编译cuda提供的例子
切换到例子存放的路径,默认路径是 ~/NVIDIA_CUDA-7.5_Samples
(即 /home/xxx/ NVIDIA_CUDA-7.5_Samples, xxx是你自己的用户名)
然后终端输入:$ make
d) 运行编译生成的二进制文件。
编译后的二进制文件 默认存放在~/NVIDIA_CUDA-7.5_Samples/bin中。
切换路径 : cd ~/NVIDIA_CUDA-7.5_Samples/bin
终端输入 :$ deviceQuery

看到类似如下图片中的显示,则代表CUDA安装且配置成功(congratulation!!)

###三.安装caffe

1.下载caffe:

# sudo git clone https://github.com/BVLC/caffe.git

2.安装第三方库:

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

3.安装opencv

# cd caffe
# sudo git clone https://github.com/jayrambhia/Install-OpenCV
# cd Install-OpenCV/Ubuntu
# sudo sh dependencies.sh
# cd 2.4
# sudo sh opencv2_4_10.sh

4.编译caffe

# cd ~/caffe
# sudo cp Makefile.config.example Makefile.config
# make all

5.配置运行环境

caffe运行时需要调用cuda的库,我们在/etc/ld.so.conf.d目录下新建一个cafe.conf文件,将所需要用的库的目录写入.
# sudo vi /etc/ld.so.conf.d/caffe.conf
添加内容:
    /usr/local/cuda/lib64 # 修改的配置文件
保存退出(:wq!)
更新配置
# sudo ldconfig

#########测设caffe

1.下载mnist数据

# cd ~/caffe
# sudo sh data/mnist/get_mnist.sh
# sudo sh examples/mnist/create_mnist.sh

2.修改配置文件

3.配置文件好后,就可以运行了

# sudo sh examples/mnist/train_lenet.sh

#########数据可视化环境(python)的配置

1.安装python和pip

a).下载
b).在终端执行(2.7版本):
    # bash Anaconda2-2.4.1-Linux-x86_64.sh
c).安装路径默认 /home/lx/anaconda2

d).环境变量默认 PATH in your /home/lx/.bashrc ? [yes|no]  #yes就好
安装完成!

2.编译python接口

首先,将caffe根目录下的python文件夹加入到环境变量
打开配置文件bashrc
    # sudo vi ~/.bashrc   #
在最后面加入
    export PYTHONPATH=/home/xxx/caffe/python:$PYTHONPATH
注意 /home/xxx/caffe/python 是我的路径,这个地方每个人都不同,需要修改
保存退出,更新配置文件
    # sudo ldconfig

3.修改配置文件

4.在/home/xxx/caffe下

# sudo make pycaffe

5.重新编译

# sudo make test -j4
    # sudo make runtest -j4
(也许你在编译runtest的时候,会报这样的错误:
.build_release/test/test_all.testbin: error while loading shared libraries: libhdf5.so.10: cannot open shared object file: No such file or directory
这是因为 libhdf5.so的版本问题,你可以进入/usr/lib/x86_64-linux-gnu看一下,你的libhdf5.so.x中的那个x是多少,比如我的是libhdf5.so.7
因此可以执行下面几行代码解决:
# cd /usr/lib/x86_64-linux-gnu
# sudo ln -s libhdf5.so.7 libhdf5.so.10
# sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.10
# sudo ldconfig

6.最终查看python接口是否编译成功:

进入python环境,进行import操作
    # python
    >>> import caffe  #(遇到了问题)

$ sudo gedit /etc/profile # 末尾添加: export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
            最后解决方法:sudo chmod 777 -R  anaconda2(文件夹) 改变权限 然后conda install protobuf
  如果没有提示错误,则编译成功。

7.安装jupyter

如果安装了anaconda, jupyter notebook就已经自动装好,不需要再安装
  运行notebook
    # jupyter notebook
    就会在浏览器中打开notebook,  点击右上角的New-python2, 就可以新建一个网页一样的文件,扩展名为ipynb。
    在这个网页上,我们就可以像在命令行下面一样运行python代码了。
    输入代码后,按 '''shift+enter运行''',更多的快捷键,可点击上方的help-Keyboard shortcuts查看,或者先按esc退出编辑状态,再按h键查看。

#########为了绘制CNN网格模型

1、安装GraphViz

# sudo apt-get install GraphViz
        注意,这里用的是apt-get来安装,而不是pip.

2 、安装pydot

# sudo pip install pydot
        用的是pip来安装,而不是apt-get

#########faster-rcnn的配置

如果前面的没有题,环境变量没有配置错误,这一步问题不大。
修改环境变量的时候要慎重小心,知道具体含义。或者做下记录。
#########

import opencv2失败

解决办法:

1.要把opencv编译出来的cv2.so (/build/lib下)拷贝到anaconda2的lib目录下
    2.export PYTHONPATH=/home/lx/caffe/python:/home/lx/anaconda2/lib:$PYTHONPATH

ubuntu14.04+CUDA7.5+cuDNN+caffe的超详细完整配置相关推荐

  1. caffe linux 教程,Caffe 深度学习入门教程 - 安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN_Linux教程_Linux公社-Linux系统门户网站...

    安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN 一.版本 Linux系统:Ubuntu 14.04 (64位) 显卡:Nvidia K20c cuda: cuda_7.5.18 ...

  2. 从无到有 Ubuntu16.04 18.04 20.04安装+Todesk+Chrome+NVIDIA驱动+CUDA+Cudnn+Anaconda3+Pycharm 超详细教程+踩坑问题

    从无到有 Ubuntu16.04 18.04 20.04安装+Todesk+Chrome+NVIDIA驱动+CUDA+Cudnn+Anaconda3+Pycharm 超详细教程+踩坑问题(有部分图片忘 ...

  3. 2023微信社区小程序+APP+后台,附带超详细完整搭建教程【源码+教程】

    2023微信社区小程序+APP+后台,附带超详细完整搭建教程[源码+教程] 微信授权登陆正常,小程序和APP带后台 手机号登陆正常,发帖,建圈子.发活动. 微信小程序是一种轻量级的应用程序,可以在微信 ...

  4. DynaSLAM超详细安装配置运行ubantu20.0.4+opencv2.4.11+tensorflow1.4.0

    DynaSLAM超详细安装配置运行ubantu20.0.4+opencv2.4.11+tensorflow1.4.0 注:我现在ubantu的环境是基于可以运行ORB SLAM 2和ORB SLAM3 ...

  5. centos7无界面系统物理机安装教程超详细完整教程图解

    centos7无界面系统物理机安装教程超详细完整教程图解 安装系统所需要用到的相关工具: 一个U盘(此U盘之后会被格式化,请先备份好里面重要内容) 系统镜像(自定义镜像文件,博主的镜像可在下面链接提取 ...

  6. 神器 VS Code,超详细Python配置使用指南

    作者:Lemon 出品:Python数据之道 神器 VS Code, 超详细Python配置使用指南 大家好,我是 Lemon. 之前在公众号发了关于 PyCharm 与 VS Code 对比的文章, ...

  7. ubuntu14.04+cuda7.0+opencv2.4.9

    安装了ubuntu14.04 分辨率有问题,于是安装英伟达显卡驱动,一个比较简单地方法就是安装Cuda,这里安装的是Cuda7.0版本. 原文地址:http://blog.csdn.net/alten ...

  8. Ubuntu14.04+cuda8.06+cudnn5.1+gtx1070的GPU环境配置中遇到的错误修改参考

     电脑配置: 系统Ubuntu14.04 cuda--8.0.61 NVIDIA驱动375.65 cudnn5.1  gpu:NVIDIA1070 报错:ImportError:libcudart.s ...

  9. VS+OpenCV+VC超详细的配置教程

    写在前面的话 版权声明:转载请注明出处! 博主是一个小菜鸟,并且非常玻璃心!如果文中有什么问题,请友好地指出来,博主查证后会进行更正. 每篇文章都是博主现阶段的理解,如果理解的更深入的话,博主会不定时 ...

最新文章

  1. 【Linux 内核 内存管理】Linux 内核堆内存管理 ① ( 堆内存管理 | 内存描述符 mm_struct 结构体 | mm_struct 结构体中的 start_brk、brk 成员 )
  2. 英语与计算机的整合,浅谈计算机应用与英语教学的整合
  3. 拯救react的hooks:react的问题和hooks的作用
  4. python上传文件接口_python程序的web接口:上传和下载文件
  5. Oracle openv目录,nub备份安装目录/openv由来
  6. 基于ARM9处理器的工作模式&工作状态&寄存器&异常类型总结笔记
  7. 影响虚拟主机访问速度的因素,主要有哪些?
  8. 联想拯救者y7000电池耗电快_联想拯救者Y7000电池不充电,是因为电池有保护的
  9. oracle中todate函数实例,pl/sql to_date 函数使用实例讲解
  10. django 配置微信JS接口安全域名文件MP_verify_HYY0KkfTzujsyGhW.txt
  11. java项目编码设置
  12. CPU选择intel还是amd
  13. www.ku6d.com采集目标
  14. MFC模拟登陆、操作路由器
  15. Enable MMC3 interface On Am57xx
  16. BERT与ERNIE
  17. vins-fusion代码解读[五] imu在vins里的理解
  18. setVisibility
  19. 段落的首字下沉的效果
  20. 使用TC的htb队列控制网络流量

热门文章

  1. [debug] RuntimeError: CUDA error: no kernel image is available for execution on the device
  2. jQuery Mobile中按钮button的data-*选项
  3. c#获取网页源码全解
  4. Echarts数据可视化series-bar柱形图详解,开发全解+完美注释
  5. AlignGAN: Learning to Align Cross-Domain Images with Conditional Generative Adversarial Networks
  6. XJOI 3266 Dyeing 染色 题解
  7. Exp6 信息收集与漏洞扫描
  8. 【BZOJ 1052】 1052: [HAOI2007]覆盖问题 (乱搞)
  9. C# File流操作
  10. [转载] 【python系列】numpy中的tile函数