ubuntu14.04+CUDA7.5+cuDNN+caffe的超详细完整配置
版权声明:文章原创,转载请注明出处,多谢!
声明
本文是关于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的超详细完整配置相关推荐
- 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 ...
- 从无到有 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 超详细教程+踩坑问题(有部分图片忘 ...
- 2023微信社区小程序+APP+后台,附带超详细完整搭建教程【源码+教程】
2023微信社区小程序+APP+后台,附带超详细完整搭建教程[源码+教程] 微信授权登陆正常,小程序和APP带后台 手机号登陆正常,发帖,建圈子.发活动. 微信小程序是一种轻量级的应用程序,可以在微信 ...
- 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 ...
- centos7无界面系统物理机安装教程超详细完整教程图解
centos7无界面系统物理机安装教程超详细完整教程图解 安装系统所需要用到的相关工具: 一个U盘(此U盘之后会被格式化,请先备份好里面重要内容) 系统镜像(自定义镜像文件,博主的镜像可在下面链接提取 ...
- 神器 VS Code,超详细Python配置使用指南
作者:Lemon 出品:Python数据之道 神器 VS Code, 超详细Python配置使用指南 大家好,我是 Lemon. 之前在公众号发了关于 PyCharm 与 VS Code 对比的文章, ...
- ubuntu14.04+cuda7.0+opencv2.4.9
安装了ubuntu14.04 分辨率有问题,于是安装英伟达显卡驱动,一个比较简单地方法就是安装Cuda,这里安装的是Cuda7.0版本. 原文地址:http://blog.csdn.net/alten ...
- Ubuntu14.04+cuda8.06+cudnn5.1+gtx1070的GPU环境配置中遇到的错误修改参考
电脑配置: 系统Ubuntu14.04 cuda--8.0.61 NVIDIA驱动375.65 cudnn5.1 gpu:NVIDIA1070 报错:ImportError:libcudart.s ...
- VS+OpenCV+VC超详细的配置教程
写在前面的话 版权声明:转载请注明出处! 博主是一个小菜鸟,并且非常玻璃心!如果文中有什么问题,请友好地指出来,博主查证后会进行更正. 每篇文章都是博主现阶段的理解,如果理解的更深入的话,博主会不定时 ...
最新文章
- 【Linux 内核 内存管理】Linux 内核堆内存管理 ① ( 堆内存管理 | 内存描述符 mm_struct 结构体 | mm_struct 结构体中的 start_brk、brk 成员 )
- 英语与计算机的整合,浅谈计算机应用与英语教学的整合
- 拯救react的hooks:react的问题和hooks的作用
- python上传文件接口_python程序的web接口:上传和下载文件
- Oracle openv目录,nub备份安装目录/openv由来
- 基于ARM9处理器的工作模式&工作状态&寄存器&异常类型总结笔记
- 影响虚拟主机访问速度的因素,主要有哪些?
- 联想拯救者y7000电池耗电快_联想拯救者Y7000电池不充电,是因为电池有保护的
- oracle中todate函数实例,pl/sql to_date 函数使用实例讲解
- django 配置微信JS接口安全域名文件MP_verify_HYY0KkfTzujsyGhW.txt
- java项目编码设置
- CPU选择intel还是amd
- www.ku6d.com采集目标
- MFC模拟登陆、操作路由器
- Enable MMC3 interface On Am57xx
- BERT与ERNIE
- vins-fusion代码解读[五] imu在vins里的理解
- setVisibility
- 段落的首字下沉的效果
- 使用TC的htb队列控制网络流量
热门文章
- [debug] RuntimeError: CUDA error: no kernel image is available for execution on the device
- jQuery Mobile中按钮button的data-*选项
- c#获取网页源码全解
- Echarts数据可视化series-bar柱形图详解,开发全解+完美注释
- AlignGAN: Learning to Align Cross-Domain Images with Conditional Generative Adversarial Networks
- XJOI 3266 Dyeing 染色 题解
- Exp6 信息收集与漏洞扫描
- 【BZOJ 1052】 1052: [HAOI2007]覆盖问题 (乱搞)
- C# File流操作
- [转载] 【python系列】numpy中的tile函数