Ubuntu-CPU-Caffe安装

版权声明:好好学习,天天向上 https://blog.csdn.net/m0_37870665/article/details/77865246

我的系统:ubuntu16.04,64位

先安装OpenCV

OpenCV的官方文档:http://opencv.org

第一步,下载源码

cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

注意:(1)下载好opencv.zipopencv_contrib.zip,解压在自己的工作目录下,我直接放在ubuntu根目录下。(2)opencv和opencv_contrib的版本号要一致,可以在opencv官方github上点击release内选择版本下载,我用的是3.1版本。(3)3.X版本以后,OpenCV将源码分成了两部分,分别是稳定的核心功能库和试验性质的contrib库。

第二步,安装源码前先安装好需要的第三方环境

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

第三步,使用cmake编译源码(包括opencv_contrib部分)

cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release –D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local ..

注意:如果编译过程中出现问题,如ippicv_linux_20151201.tgz国内被墙了,下载不成功或者提示hash值不对。解决方法是,下载好需要的文件替换到对应的目录

(~/opencv/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ippicv_linux_20151201.tgz)

直接替换或者命令:

cd ~/opencv/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e

cp <下载的文件路径> ippicv_linux_20151201.tgz

然后重新cmake编译,提示Configuring done和Generating done即编译成功。

最后一步,编译安装,大概需要15~20分钟

cd ~/opencv/build
make
sudo make install

可以查看安装好的库文件ls /usr/local/lib

为方便后续代码的编写,修改文件:sudo vim /etc/ld.so.conf,添加一行/usr/local/lib,保存退出。

cd ~/opencv/build
sudo ldconfig

完成。

准备测试代码test_opencv.cpp和图片lena.jpg

编译:

g++ -otest_opencv test_opencv.cpp -lopencv_core -lopencv_highgui -lopencv_imgcodecs

运行:

./test_opencv

然后安装Caffe

caffe官网指引:http://caffe.berkeleyvision.org/install_apt.html

 

安装caffe依赖包

CUDA:CPU-only不用装

protobuf:

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

Boost:

sudo apt-get install --no-install-recommends libboost-all-dev

BLAS:

sudo apt-get install libatlas-base-dev

gflagsglog:

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

 

下载caffe

https://github.com/BVLC/caffe

 

编译并安装

cd caffe 
mkdir build
cd build
cmake –D CMAKE_BUILD_TYPE=Release –D CPU_ONLY=ON –D CMAKE_INSTALL_PREFIX=/usr/local ..
make all
make install
make runtest

注释:-D的意思是参数定义;CMAKE_INSTALL_PREFIX=/usr/local是指安装在系统的环境下,如果不指定则默认安装在caffe/build/install里;..的意思是编译的内容在..外一层的文件目录下,编译好的文件放在build文件夹里。

 

如果安装在install下,
export LD_LIBRARY_PATH=[caffe_path]/build/install/lib:${LD_LIBRARY_PATH}
如果安装在系统环境下,
export LD_LIBRARY_PATH=usr/local/lib:${LD_LIBRARY_PATH}

导入这个库的目的是:把这个库当成是系统库,在以后编译代码的时候直接指定我们用到什么库就可以了,而不用指定库的地址,如:

直接写gcc -otest_blob test_blob.cpp -D CPU_ONLY -lcaffe -lstdc++ -lglog

不需要gcc -otest_blob test_blob.cpp -D CPU_ONLY –L /usr/local/lib -lcaffe -lstdc++ -lglog

 

 

后续如果在运行python程序报错:no module named caffe,是因为路径不对,需配置环境变量。思路是把caffe中的python文件夹路径导入到python的解释器中:

sudo vim ~/.bashrc
在文件最下方加上export PYTHONPATH=~/caffe/python保存退出(:wq)
source ~/.bashrc使环境变量生效

注释:文件名前面加上“.”是因为它是隐藏文件。

Caffe可视化

准备pycaffe环境

sudo apt-get update
sudo apt-get install python-pip python-dev python-numpy
sudo apt-get install gfortran graphviz
for req in $(cat ~/caffe-master/python/requirements.txt); do sudo pip install $req; done
sudo pip install pydot

注释:requirements.txt中写了需要安装的包,我们进行安装。

 

网络结构的可视化

方法一:caffe自带的工具

cd caffe-master/python
./draw_net.py –rankdir TB ~/caffe-master/examples/mnist/lenet_train_test.prototxt mnist.png

注释:draw_net.py工具可以画出prototxt文件搭建的网络结构;./的意思是在当前目录下;TB的意思是topbottom,即图的方向;生成的png文件放在draw_net.py同目录下。

 

方法二:在线工具(推荐)

http://ethereon.github.io/netscope/#/editor

prototxt文件内容复制进去,按下Shift+Enter即可。

 

 

猜你喜欢

转载自blog.csdn.net/m0_37870665/article/details/77865246
今日推荐