opencv安装
(1)安装编译工具以及依赖包
安装编译工具:
sudo apt-get install build-essential安装依赖包:
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev安装可选包:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev(2)下载opencv-2.4.13,编译安装
这里去官网下载就行了,下载地址:https://opencv.org/releases.html,然后解压,在终端下进入到文件夹opencv-2.4.13(也可在指定文件目录下右键“Open Terminal ”直接打开终端):
cd opencv-2.4.13
新建一个文件夹存放临时文件:
mkdir release
切换到该临时文件夹:
cd release
开始编译:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j4 sudo make install
(3)环境配置
配置环境将opencv的库加入到路径,从而让系统可以找到 :
sudo gedit /etc/ld.so.conf.d/opencv.conf
在打开的文件内添加:/usr/local/lib
然后更新:
sudo ldconfig
继续编辑:
sudo gedit /etc/bash.bashrc
在打开的文件末尾加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
保存退出,使环境更改立即生效:
source /etc/bash.bashrc
如果想在python里面调用opencv,还需要安装opencv-python,在终端执行如下命令:
sudo apt-get install python-opencv
测试,在终端输入python,然后输入import cv2,如果没报错就说明正常。
cuda、caffe安装
(1)安装依赖项
1、一般依赖项
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
2、BLAS依赖项
sudo apt-get install libatlas-base-dev
或者安装:
sudo apt-get install libopenblas-dev
3、python依赖项
安装python及其头文件(ubuntu16自带python2和python3)
sudo apt-get install python sudo apt-get install python-dev
安装python依赖项
sudo apt-get install python-numpy sudo apt-get install ipython sudo apt-get install ipython-notebook sudo apt-get install python-sklearn sudo apt-get install python-skimage sudo apt-get install python-protobuf
4、安装glog和gflags和lmdb依赖项
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
(2)安装cuda和显卡驱动
下载cuda8.0,下载地址:https://developer.nvidia.com/cuda-80-ga2-download-archive,注意你的系统版本,我这里下载的是cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb。
进入你的cuda下载路径下,在终端输入(注意这里的cuda文件需要改成你下载的文件名字):
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo apt-get update sudo apt-get install cuda
1)安装完成后设置环境变量
sudo gedit /etc/bash.bashrc
在打开的文件末尾添加:
export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
然后使更改的环境立刻生效:
source /etc/bash.bashrc
2)安装完毕后验证显卡驱动是否安装完毕(如果检测不到或者提示找不到文件可以重启下系统,因为刚装完显卡驱动)
cat /proc/driver/nvidia/version
3)安装git,并且下载caffe代码,默认存放在你的/home路径下
sudo apt-get install git git clone https://github.com/BVLC/caffe.git
进入到你的caffe源码目录
cd caffe
4)安装cudnn(选择安装)
CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案,目前支持的DL库包括Caffe,ConvNet, Torch7等。安装很简单,其实就是执行一些拷贝操作,把头文件和库文件放到系统路径下面而已。
首先需要下载cudnn文件,我下载的是5.1版本:cudnn-8.0-linux-x64-v5.1.tgz(需要注册Nvidia官网帐号下载,当然百度一搜很多资源可以下载),然后解压,会生成一个名为cuda的文件夹,在该目录下,再执行下面的命令:
sudo cp cuda/include/cudnn.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
5)编译Caffe
如需要使用cuDNN,请将Makefile.config中USE_CUDNN := 1这一行之前的#(注释)去掉,若安装的opencv为版本3,同理也应做出相应改动(若还需要其它配置,请仔细阅读Makefile.config)
cp ./Makefile.config.example ./Makefile.config
如果你的电脑没有GPU,你只要使用CPU,那就将CPU_ONLY前面的注释取消掉。
# CPU-only switch (uncomment to build without GPU support). # CPU_ONLY := 1
如果要使用GPU,这里不做更改。此时需要更改的是将WITH_PYTHON_LAYER := 1前的注释去掉,方便使用Python调用即可。
# Uncomment to support layers written in Python (will link against Python libs) WITH_PYTHON_LAYER := 1同时,为了匹配cuda8.0的计算能力,请把Makefile.config中CUDA_ARCH中的前两行去掉(保留也行,编译的时候会弹出警告)
-gencode arch=compute_20, code=sm_20 -gencode arch=compute_20, code=sm_21
在Makefile.config文件中,添加 /usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
在Makefile文件中,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
然后编译即可完成caffe安装
首先执行:(因为我的电脑CPU是4核的,所以采用了4这个参数)
make pycaffe -j4接着输入:
make all -j4
接着输入命令:
make test -j4
然后输入:
make runtest -j4
如果最后显示通过的话就说明caffe编译成功,当然如果遇到了问题,把报错的信息直接百度,一般都是能解决问题的。
参考文献:
https://www.cnblogs.com/wm123/p/5385940.html
https://blog.csdn.net/woainishifu/article/details/73995489