Ubuntu16.04操作系统下配置caffe环境(GPU版本)
说明:如果你按照这个文档操作,请完全按照这下面的目录进行操作。如你是对这个环境非常熟悉,就当我没有说这句,哈哈~
整体步骤:
- 查询显卡型号
- 安装显卡驱动
- 安装CUDA
- 安装cuDNN
- 安装opencv
- 配置caffe
- 安装ffmpeg,此项如果没有用到可以选择不安装
详细描述:
- 显卡型号查询
lspci | grep -i nvidia
- 根据查询出的显卡型号去下载对应的显卡驱动 NVIDIA官网,我这里下载是GeForce GTX 1050Ti的显卡驱动
- 显卡驱动安装
1)首先屏蔽自带的显卡驱动
vim /etc/modprobe.d/blacklist.conf
#最后一行加入后面的内容将自带显卡驱动屏蔽 blacklist nouveau
sudo update-initramfs -u #将修改后的内容生效
此处需要重启一下电脑
2)重启电脑后Ctrl+Alt+F1进入命令行界面,此处会黑屏了。这时一定要找一个备用电脑来看接下的操作
sudo service lightdm stop
sudo chmod +x ./NVIDIA-Linux-x86_64-384.111.run --no-opengl-files
重点:如果你是双显卡的电脑,请一定要加上这个参数–no-opengl-files,如果没有加,那么你将无法进去图形界面了,就会在登录页面一直登录。
重启电脑后,输入sudo nvidia-smi 命令会显示显卡相关信息,如果看到以下图片说明显卡驱动安装成功了。
4. 安装CUDA
1)下载安装官网地址
2)安装,一定要去安装的时候显卡驱动去掉,因为我们已经安装过驱动了。
sudo chmod 777 cuda_9.0.176_384.81_linux.run
sudo ./cuda_9.0.176_384.81_linux.run
3)环境配置
#vim ~/.bashrc 最后增加以下就可以了
exportPATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
exportLD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
4) 测试是否安装成功
cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery
看到以下显示,说明你的cuda安装成功了。
5. 安装配置cuDNN
1)下载cuDNN下载,此处需要注意的是版本要与cuda版本一致
2)安装
sudo tar -zxvf ./cudnn-10.1-linux-x64-v7.tgz
cd cuda/include
sudo cp cudnn.h /usr/local/cuda/include #复制头文件到cuda头文件目录
cd ..cd lib64sudo cp lib*/usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7 #生成软衔接
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
- 安装opencv+opencv_contrib
- 下载opencv下载地址,可以选择对应的版本,opencv与opencv_contrib要版本一致。
2)先解压opencv,再将opencv_contrib源码解压到opencv目录中
3)注:在第4步安装的时候就出现以下两个错误:
- 编译时遇到缺少boostdesc_bgm.i等文件,手动添加到缺少文件的位置(opencv_contrib-3.4.6/modules/xfeatures2d/src)下载地址
- 找不到hpp文件目录,根据报错路径找到报错位置,修改hpp文件为绝对路径
/usr/local/opencv-3.4.6/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:42: fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录
/usr/local/opencv-3.4.6/modules/stitching/src/precomp.hpp:91:42: fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录/usr/local/opencv-3.4.6/opencv_contrib-3.4.6/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp/usr/local/opencv-3.4.6/modules/stitching/src/matchers.cpp:52:35: fatal error: opencv2/xfeatures2d.hpp: 没有那个文件或目录
/usr/local/opencv-3.4.6/opencv_contrib-3.4.6/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp/usr/local/opencv-3.4.6/opencv_contrib-3.4.6/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp:43:43: fatal error: opencv2/xfeatures2d/nonfree.hpp: 没有那个文件或目录/usr/local/opencv-3.4.6/opencv_contrib-3.4.6/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp
4)安装
谨记设置WITH_GTK=ON
cd release // release是自己创建的存放cmake结果的目录
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_EXTRA_MODULES_PATH=/opencv_contrib路径/modules ..
make -j8
sudo make install
- 配置caffe
- 安装依赖包
apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
apt-get install --no-install-recommends libboost-all-dev
apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2)下载源码包caffe git 地址
3)修改配置文件
cp Makefile.config.example Makefile.config
vim Makefile.config
将以下三项的注释去掉
#USE_CUDNN:= 1
#OPENCV_VERSION:= 3
#WITH_PYTHON_LAYER:= 1
修改此处(此处不要直接全部手复制,直接加一些新加的部分就可以),如下:
#Whatever else you find you need goes here
INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为:
INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
修改完成后,还需要修改Makefile,记得这个文件和Makefile.config不是一个文件噢
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC$(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
4) 编译,测试
make all -j8
sudo make runtest
当看到以下显示时,恭喜你,配置完成了。如果你需要ffmpeg可以安装,如果不需要。那么到这里就可以了。
在此提示一下,这个环境的安装与配置,请不要这找一点内容那里找一点内容,结果安装的时候就出现各种错误。因为我当时就是这样找了各种的文章,结果出现了各种错误。照此文章一般不会出什么错误,因为这是我验证过的。希望对你有帮助~~~
- 安装ffmpeg,这个就是相对好安装多了,我选择了一个最快的方法
apt-get install ffmpeg
备注:在安装的过程遇到了这个问题,到最后也没有定位到这个问题是什么原因(我重新从第一步安装了一下就好了),我估计应该是我之前安装opencv的时候出现了问题。有朋友遇到过这个问题解决了,可以在下面留言告诉我一下,谢谢。
NVCC src/caffe/util/im2col.cu
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
CXX tools/upgrade_net_proto_binary.cpp
CXX/LD -o .build_release/tools/upgrade_net_proto_binary.bin
/usr/bin/ld: .build_release/lib/libcaffe.so: undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:635: recipe for target '.build_release/tools/upgrade_net_proto_binary.bin' failed
make: *** [.build_release/tools/upgrade_net_proto_binary.bin] Error 1
错误备注:
- 提示找不到库文件,需要安装 apt-get install libxml2 libxml2-dev
找不到xml2库错误:apt-get install libxml2 libxml2-dev
- 报错*** Error in `python’: free(): invalid pointer
apt-get install libtcmalloc-minimal4
vim ~/.bashrc
#增加以下配置文件
export LD_PRELOAD="/usr/lib/libtcmalloc_minimal.so.4"
#重新加载环境变量
sudo source ~/.bashrc
锁定固定版本,启动默认使用内核
https://blog.csdn.net/haijun7013/article/details/105454293?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
- Ubuntu指定默认启动内核
可以通过开机启动Ubuntu时按 ESC 键来进入GRUB选项,
选择 Advanced options for Ubuntu,然后可以看到所有内核启动菜单,Index从0开始。
cat /boot/grub/grub.cfg |grep menuentry
Index同样从0开始,记住你需要指定内核的Index
修改grub文件,修改后如下:
以上只修改了 GRUB_DEFAULT=“1> 6” 部分,1代表启动时第一层菜单里的 Advanced options for Ubuntu,6即为指定内核的Index。
注意引号是必须的,注意空格。
修改完毕之后:
sudo update-grub
重启之后查看内核:
uname -r
参考:https://www.cnblogs.com/zoneofmine/p/13229347.html
Ubuntu16.04操作系统下配置caffe环境(GPU版本)相关推荐
- Ubuntu 16.04下安装Caffe(GPU版本 GTX970)
Ubuntu 16.04下安装Caffe(GPU版本 GTX970) 个人分类: Deep Learning 2018年8月6日更新说明:距上次安装成功没多久,显卡驱动莫名失效,没有解决,索性重装了系 ...
- 服务器ubuntu16.04安装Miniconda配置pytorch环境
服务器ubuntu16.04安装Miniconda配置pytorch环境 刚进入实验室时配置过服务器node1节点,node1节点有4张p100,但是总是被占满,几个月后申请了node2节点,但是完全 ...
- 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)...
写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...
- ubuntu16.04下配置caffe无GPU
1. 安装依赖项 1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5- ...
- Win7下安装Ubuntu16.04以及Ubuntu配置Android环境
1.安装Ubuntu系统 1用windows磁盘管理给硬盘划分空白空间 2下载USBWriter( http://www.linuxidc.com/Linux/2014-10/108015.htm)( ...
- ubuntu16.04+Virtualenv+python2.7+Caffe安装(CPU版本,无opencv)
环境: Ubuntu16.04 AMD 64位 双核 python 2.7.12 虚拟环境:Virtualenv 虚拟环境路径如下: (python2.7) appleyuchi@ubuntu:~/. ...
- Windows下编译配置Caffe的GPU版本
2020-12-09 参考链接:https://www.cnblogs.com/zjutzz/p/9532483.html 本文采用官方提供的步骤进行编译,只记录了和该参考链接不同的地方 环境说明 系 ...
- ubuntu 14.04 java_Ubuntu14.04下配置Java环境
Java环境配置网上已经有很多资料了,不过大多不适合初学者,Linux菜鸟更是不知所措了...Ubuntu14.04下配置Java环境,具体方案如下: Oracle官网上下载"jdk-8-l ...
- Linux热点无网络,Linux网络配置:手提在连接WIFI热点情况下,Ubuntu16.04中怎样配置网络?...
Linux网络配置:手提在连接WIFI热点情况下,Ubuntu16.04中怎样配置网络?,范佩西致敬温格:你是我的足球父亲,是你塑造了我,磷菩屹倨竿,布加迪推出Chiron Sport特别版,百公里加 ...
最新文章
- hdu 2063+hdu 1083(最大匹配数)
- 「3」Java开发环境搭建
- OpenDiscussion_DataDrivenDesign
- 多线程之任务: Task 基础, 多任务并行执行, 并行运算(Parallel)
- 本地虚拟机上的docker安装mysql_linux下利用Docker安装mysql的步骤
- 如何操作别人计算机,如何远程控制别人的电脑【图解】
- cmd命令查看服务器硬盘序列号,硬盘序列号查询命令_Win7系统中怎么通过CMD查看硬盘序列号...
- koreader下载_Koreader阅读器app免费安装最新版|Koreader阅读器2018手机最新版下载_v1.0_9ht安卓下载...
- 安装kafka+golang操作kafka
- 淘宝dsr评分如何提升?
- 联想和柳传志的5G标准投票辩白和抗争为啥那么苍白?
- python高级进阶_20_进程之间的通信之queue(Poo演示)
- C++EXCEL排序
- 数字转字符串;字符串转数字
- Oracle配置服务
- 实战|Python轻松实现绘制词云图(附详细源码)
- Python爬取《你好李焕英》豆瓣短评并基于SnowNLP做情感分析
- 《图解 HTTP》 读书笔记
- 经常用的代码 命令行解析 api 以及vue组件复用方法总结
- Winform控件镂空、窗体本身镂空和鼠标击穿(录屏会用到)