OpenCV/caffe安装流程

4 篇文章 0 订阅
3 篇文章 0 订阅

公司正在做人脸识别系统, 用到了OpenCV库, 下面就是根据网上资料以及自己多次部署安装的经验整理的安装流程, 希望能给一些人一点参考
系统: Ubuntu1604
CPU架构:一般是x86, 也有过几个ARM架构
本文中默认用户目录为 /home/nvidia/

安装nvidia驱动

  1. 去官网下载网下载http://www.geforce.cn/drivers
  2. 首先禁用nouveau
  • 查看属性
    $sudo ls -lh /etc/modprobe.d/blacklist.conf
  • 修改属性
    $sudo chmod 666 /etc/modprobe.d/blacklist.conf
  • 用vi编辑器打开
    $sudo vi /etc/modprobe.d/blacklist.conf
  • 在该文件后添加以下几行:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
sudo update-initramfs -u
  1. 安装
  • 首先禁用图形界面
sudo service lightdm stop
sudo chmod a+x NVIDIA-Linux-x86_86_64-xxx.run
$sudo ./NVIDIA-Linux-x86_86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files
  • 重启图形界面
    sudo service lightdm start

-检测英伟达驱动是否安装成功, 命令:
nvidia-smi

安装cuda

下载cuda9.0
sudo ./xxxxx.run
开始会出现阻塞安装 这时候一直按住回车(也可以按住 s 键快速跳过)
到提示是否安装nvidia显卡驱动 这个时候选择否
剩下的都选是
安装完后配置环境变量(详见OpenCV环境变量配置, 在配置OpenCV时, 就带有cuda的配置)
测试:

cd  /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

cudnn安装

下载cudnn 一共两个包

sudo dpkg –i libcudnn7_n7_xxxxxx.deb
sudo dpkg –i libcudnn7-dev_ev_xxxxxx.deb

验证 dpkg -l|grep cudnn

OpenCV 安装依赖

要求必须是3.3.1版本
1、复制原文件备份sudo
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2、编辑源列表文件
sudo vi /etc/apt/sources.list
3、将原来的列表删除,添加如下内容

X86

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

arm

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe

4、运行sudo apt-get update

sudo apt install libgtk2.0-dev libgtk-3-dev
sudo sudo apt-get install cmake git libgtk-3-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav
sudo apt-get install build-essential
sudo apt-get install python-dev python-pip python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libatlas-base-dev gfortran

sudo pip install pip -U -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo pip install Theano -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo pip install Keras  -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo pip install Scipy -U -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo pip install numpy -i https://pypi.mirrors.ustc.edu.cn/simple/

配置环境变量
在nvidia下设置环境变量
caffe
cuda
openCV

cd /home/nvidia/

vi .bashrc

#插入下列配置(地址根据情况修改)
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=/home/nvidia/caffe/build/install/lib:/home/nvidia/opencv-3.4.1/build/lib:$LD_LIBRARY_PATH

#保存文件后运行
source .bashrc

下载opencv 版本3.3.1!!!, 必须是3.3.1
在openCV文件夹下创建build文件夹

cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=./install ..   # (不要遗漏命令最后的“..”)
make -j8
sudo make install

(在运行第二行命令时可能会出现长时间卡在下载"ippicv_2017u3_lnx_intel64_general_20170822.tgz"的情况)
解决办法:
1. 手动下载“ippicv_2017u3_lnx_intel64_general_20170822.tgz”文件, 例如放在“/home/nvidia/” 目录下
2. 编辑ippicv.cmake文件,打开终端,输入:
gedit /home/nvidia/opencv-3.3.1/opencv/3rdparty/ippicv/ippicv.cmake
3. 将47行的
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
改为步骤1中手动下载的文件的本地路径:
"file:///home/nvidia" #(仅供参考,根据自己的路径填写)

Caffe安装

依赖库安装

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get  install --no-install-recommends libboost-all-dev

sudo apt-get install libatlas-base-dev 
sudo apt-get install libopenblas-dev 

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
cd /home/nvidia/caffe/cmake
vi Dependencies.cmake
set(OpenCV_DIR "/home/nvidia/viwo/opencv-3.3.1/build")

mkdir build
cd build
cmake ..
make -j4
make install
更新日志:
	日期:2018年10月15日
	内容:修改部分代码格式, 便于阅读
	
	日期:2018年12月19日
	内容:修正markdown标题显示问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值