deepin207
deepin
2017-09-20 09:42 2.从github上下载OpenCV源代码
git clone https://github.com/opencv/opencv.git
3.安装cmake的GUI工具,方便配置
sudo apt-get install cmake-gui
然后打开该软件,输入OpenCV源码在本地的路径,已经编译配置过程产生的中间文件保存在本地的路径
这里写图片描述
× 路径配置完之后,淀积左下角的Configure按钮,开始执行依赖检查等环境配置
× 成功之后,会在上面产生一个列表,是将来编译时需要的一些环境配置,一般默认即可,这里我们稍作修改,修改CMAKE_BUILD_TYPE为Release,修改CMAKE_INSTALL_PREFIX为/usr/local,选中WITH-OPENGL
× 完了之后,淀积左下角的Generate按钮,将会根据上面的配置生成Makefile文件
这里写图片描述
在build路径下执行命令
make -j8 (多线程编译,注意散热,这里的数字8根据自己计算机cpu核心的个数自行调整)
编译过程耗时很久,大概一个半小时左右,编译完成之后安装即可
sudo make install
sudo ldconfig
测试opencv安装是否成功,opencv完全编译安装会安装对应的python接口,在终端中简单测试即可
这里写图片描述
至此opencv3.2安装完成
终于来到重头戏了,caffe的安装
1.依赖库安装
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
安装ATLAS,输入下述命令:
sudo apt-get install libatlas-base-dev
安装剩余依赖项
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.删除deepin软件源中太新的库,这些库采用比gcc/g++4.8.5更新的编译器编译,有不兼容部分,后续的caffe编译中会出现找不到对应函数的情况
sudo apt-get remove libleveldb-dev
sudo apt-get remove libprotobuf-dev
sudo apt-get remove libgflags-dev
sudo apt-get remove libgoogle-glog-dev
3.重新编译安装上述库
leveldb
git clone https://github.com/google/leveldb.git
cd ./leveldb/
make -j8
安装leveldb
sudo cp -r /leveldb/include/ /usr/include/
sudo cp /leveldb/out-shared/libleveldb.so.1.20 /usr/lib/
sudo ln -s /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so.1
sudo ln -s /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so
sudo ldconfig
查看安装是否成功
ls /usr/lib/libleveldb.so*
# 显示下面 3 个文件即安装成功
/usr/lib/libleveldb.so.1.20
/usr/lib/libleveldb.so.1
/usr/lib/libleveldb.so
protobuf编译安装
deepin库中默认采用的是protobuf-3.0x,而caffe的github代码中兼容protobuf2.5
protobuf2.5在其官方的github中已经没法提供下载,这里提供一个链接https://code.google.com/p/protobuf/downloads/list,网络不行的话,可以去简单检索一下,到csdn下载即可
tar -zxvf protobuf-2.5.0
cd protobuf-2.5.0
./autogen.sh
./configure --prefix=/usr/
make -j8
make check -j8
sudo make install
sudo ldconfig
查看版本
这里写图片描述
gflags安装
git clone https://github.com/gflags/gflags.git
cd gflags
mkdir build
cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make -j8
sudo make install
glog安装
git clone https://github.com/golang/glog.git
cd glog
./configure
make
sudo make install
下载caffe源码
git clone https://github.com/BVLC/caffe.git
修改Makefile.config
cp Makefile.config.example Makefile.config
vim Makefile.config
根据个人情况修改
#USE_CUDNN := 1
改为
USE_CUDNN := 1
opencv3版本
#OPENCV_VERSION := 3
改为
OPENCV_VERSION := 3
使用python layer
#WITH_PYTHON_LAYER := 1
改为
WITH_PYTHON_LAYER := 1
最重要的一项
1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为
1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial /usr/liclude /usr/include/leveldb /usr/local/include/gflags /usr/include/google/protobuf
2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr /usr/lib/x86_64-linux-gnu/hdf5/serial
修改Makefile
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
至此准备工作结束,开始编译
make all -j8
make test -j8
编译完成,以最简单的MNIST手写体数据集做一个简单测测试
# 下载MNIST数据
./data/mnist/get_mnist.sh
这里写图片描述
# 数据格式转换
./examples/mnist/create_mnist.sh
这里写图片描述
# 训练LeNet-5超参数(hyperparameters)
optirun ./examples/mnist/train_lenet.sh
这里写图片描述
这里写图片描述
# 测试集上做预测测试
optirun ./build/tools/caffe.bin test \
-model examples/mnist/lenet_train_test.prototxt \
-weights examples/mnist/lenet_iter_10000.caffemodel \
-iterations 100
这里写图片描述
这里写图片描述
至此,全部教程结束。
参考文献
1.http://blog.csdn.net/liaodong2010/article/details/71482304
2.https://jingyan.baidu.com/article/36d6ed1f95e0b91bcf4883a6.html
3.http://caffe.berkeleyvision.org/installation.html
git clone https://github.com/opencv/opencv.git
3.安装cmake的GUI工具,方便配置
sudo apt-get install cmake-gui
然后打开该软件,输入OpenCV源码在本地的路径,已经编译配置过程产生的中间文件保存在本地的路径
这里写图片描述
× 路径配置完之后,淀积左下角的Configure按钮,开始执行依赖检查等环境配置
× 成功之后,会在上面产生一个列表,是将来编译时需要的一些环境配置,一般默认即可,这里我们稍作修改,修改CMAKE_BUILD_TYPE为Release,修改CMAKE_INSTALL_PREFIX为/usr/local,选中WITH-OPENGL
× 完了之后,淀积左下角的Generate按钮,将会根据上面的配置生成Makefile文件
这里写图片描述
在build路径下执行命令
make -j8 (多线程编译,注意散热,这里的数字8根据自己计算机cpu核心的个数自行调整)
编译过程耗时很久,大概一个半小时左右,编译完成之后安装即可
sudo make install
sudo ldconfig
测试opencv安装是否成功,opencv完全编译安装会安装对应的python接口,在终端中简单测试即可
这里写图片描述
至此opencv3.2安装完成
终于来到重头戏了,caffe的安装
1.依赖库安装
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
安装ATLAS,输入下述命令:
sudo apt-get install libatlas-base-dev
安装剩余依赖项
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.删除deepin软件源中太新的库,这些库采用比gcc/g++4.8.5更新的编译器编译,有不兼容部分,后续的caffe编译中会出现找不到对应函数的情况
sudo apt-get remove libleveldb-dev
sudo apt-get remove libprotobuf-dev
sudo apt-get remove libgflags-dev
sudo apt-get remove libgoogle-glog-dev
3.重新编译安装上述库
leveldb
git clone https://github.com/google/leveldb.git
cd ./leveldb/
make -j8
安装leveldb
sudo cp -r /leveldb/include/ /usr/include/
sudo cp /leveldb/out-shared/libleveldb.so.1.20 /usr/lib/
sudo ln -s /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so.1
sudo ln -s /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so
sudo ldconfig
查看安装是否成功
ls /usr/lib/libleveldb.so*
# 显示下面 3 个文件即安装成功
/usr/lib/libleveldb.so.1.20
/usr/lib/libleveldb.so.1
/usr/lib/libleveldb.so
protobuf编译安装
deepin库中默认采用的是protobuf-3.0x,而caffe的github代码中兼容protobuf2.5
protobuf2.5在其官方的github中已经没法提供下载,这里提供一个链接https://code.google.com/p/protobuf/downloads/list,网络不行的话,可以去简单检索一下,到csdn下载即可
tar -zxvf protobuf-2.5.0
cd protobuf-2.5.0
./autogen.sh
./configure --prefix=/usr/
make -j8
make check -j8
sudo make install
sudo ldconfig
查看版本
这里写图片描述
gflags安装
git clone https://github.com/gflags/gflags.git
cd gflags
mkdir build
cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make -j8
sudo make install
glog安装
git clone https://github.com/golang/glog.git
cd glog
./configure
make
sudo make install
下载caffe源码
git clone https://github.com/BVLC/caffe.git
修改Makefile.config
cp Makefile.config.example Makefile.config
vim Makefile.config
根据个人情况修改
#USE_CUDNN := 1
改为
USE_CUDNN := 1
opencv3版本
#OPENCV_VERSION := 3
改为
OPENCV_VERSION := 3
使用python layer
#WITH_PYTHON_LAYER := 1
改为
WITH_PYTHON_LAYER := 1
最重要的一项
1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为
1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial /usr/liclude /usr/include/leveldb /usr/local/include/gflags /usr/include/google/protobuf
2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr /usr/lib/x86_64-linux-gnu/hdf5/serial
修改Makefile
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
至此准备工作结束,开始编译
make all -j8
make test -j8
编译完成,以最简单的MNIST手写体数据集做一个简单测测试
# 下载MNIST数据
./data/mnist/get_mnist.sh
这里写图片描述
# 数据格式转换
./examples/mnist/create_mnist.sh
这里写图片描述
# 训练LeNet-5超参数(hyperparameters)
optirun ./examples/mnist/train_lenet.sh
这里写图片描述
这里写图片描述
# 测试集上做预测测试
optirun ./build/tools/caffe.bin test \
-model examples/mnist/lenet_train_test.prototxt \
-weights examples/mnist/lenet_iter_10000.caffemodel \
-iterations 100
这里写图片描述
这里写图片描述
至此,全部教程结束。
参考文献
1.http://blog.csdn.net/liaodong2010/article/details/71482304
2.https://jingyan.baidu.com/article/36d6ed1f95e0b91bcf4883a6.html
3.http://caffe.berkeleyvision.org/installation.html
Reply Like 0 View the author


中文 

拖了半个今天终于抽空把这个安装过程整理出来了,仅供在deepin上做深度学习的兄弟们参考传送门
社区的编辑器不方便,显示格式不太对,感兴趣的兄弟们可以上csdn上看原文。
http://blog.csdn.net/luzhanbo207/article/details/78036278