300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Ubuntu16.04操作系统下配置caffe环境(GPU版本)

Ubuntu16.04操作系统下配置caffe环境(GPU版本)

时间:2020-04-16 12:53:53

相关推荐

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 nouveausudo update-initramfs -u #将修改后的内容生效

此处需要重启一下电脑

2)重启电脑后Ctrl+Alt+F1进入命令行界面,此处会黑屏了。这时一定要找一个备用电脑来看接下的操作

sudo service lightdm stopsudo 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.runsudo ./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/deviceQuerysudo makesudo ./deviceQuery

看到以下显示,说明你的cuda安装成功了。

5. 安装配置cuDNN

1)下载cuDNN下载,此处需要注意的是版本要与cuda版本一致

2)安装

sudo tar -zxvf ./cudnn-10.1-linux-x64-v7.tgzcd cuda/includesudo 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 -j8sudo make install

配置caffe 安装依赖包

apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilerapt-get install --no-install-recommends libboost-all-devapt-get install libopenblas-dev liblapack-dev libatlas-base-devapt-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 hereINCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/includeLIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib修改为:INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serialLIBRARY_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 -j8sudo make runtest

当看到以下显示时,恭喜你,配置完成了。如果你需要ffmpeg可以安装,如果不需要。那么到这里就可以了。

在此提示一下,这个环境的安装与配置,请不要这找一点内容那里找一点内容,结果安装的时候就出现各种错误。因为我当时就是这样找了各种的文章,结果出现了各种错误。照此文章一般不会出什么错误,因为这是我验证过的。希望对你有帮助~~~

安装ffmpeg,这个就是相对好安装多了,我选择了一个最快的方法

apt-get install ffmpeg

备注:在安装的过程遇到了这个问题,到最后也没有定位到这个问题是什么原因(我重新从第一步安装了一下就好了),我估计应该是我之前安装opencv的时候出现了问题。有朋友遇到过这个问题解决了,可以在下面留言告诉我一下,谢谢。

NVCC src/caffe/util/im2col.cuAR -o .build_release/lib/libcaffe.aLD -o .build_release/lib/libcaffe.so.1.0.0CXX tools/upgrade_net_proto_binary.cppCXX/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 linecollect2: error: ld returned 1 exit statusMakefile:635: recipe for target '.build_release/tools/upgrade_net_proto_binary.bin' failedmake: *** [.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-minimal4vim ~/.bashrc#增加以下配置文件export LD_PRELOAD="/usr/lib/libtcmalloc_minimal.so.4"#重新加载环境变量sudo source ~/.bashrc

锁定固定版本,启动默认使用内核

/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

参考:/zoneofmine/p/13229347.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。