深度学习框架Caffe配置:Ubuntu 16.04+CUDA8.0+cuDNN5.1+OpenCV3.1+Anaconda+Octave4.0.3
来源:互联网 发布:sql server log工具 编辑:程序博客网 时间:2024/05/16 00:44
1.添加软件源,更新系统和软件
如清华大学源,参见https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
sudo gedit /etc/apt/sources.list
添加清华大学软件源
sudo apt-get update
使用“软件更新器”更新系统和软件
2.Nvidia驱动
sudo add-apt-repository ppa:graphics-drivers/ppa #添加源
sudo apt-get update
使用“软件更新器”更新Nvidia驱动,如367(专有)
重启
3.安装CUDA8.0正式版
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
sudo gedit /etc/profile
添加
export PATH=/usr/local/cuda/bin:$PATH
添加 ex
port LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
sudo gedit /etc/ld.so.conf.d/cuda.conf
添加
/usr/local/cuda/lib64
sudo ldconfig
重启
测试是否安装成功\
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make #编译该项目
./deviceQuery #若正确,则会显示有效的输出信息
4.安装cuDNN5.1
sudo cp ./include/cudnn.h /usr/local/cuda/include/
sudo cp ./lib64/lib* /usr/local/cuda/lib64/
cd /usr/local/cuda/lib64
sudo rm libcudnn.so
sudo rm libcudnn.so.5
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
5.编译安装OpenCV3.1
安装必要的依赖库:
- sudo apt-get install --assume-yes build-essential cmake cmake-gui checkinstall git libgtk2.0-dev pkg-config python-dev libboost-all-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip ffmpeg libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev qtbase5-dev yasm
- sudo apt-get install --assume-yes build-essential cmake cmake-gui checkinstall git libgtk2.0-dev pkg-config python-dev libboost-all-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip ffmpeg libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev qtbase5-dev yasm
下载OpenCV3.1Unix源码,并解压
cd opencv-3.1.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..
make-j8
make check -j8
sudo make install #
安装位置
/usr/local
6.安装
python
相关库(Anaconda务必升级)
conda update conda
conda install pip
python -m pip install --upgrade pip
conda update --all
cd ./caffe-master/python
for req in $(cat requirements.txt); do pip install $req; done
pip install pydot
pip install pyzmq
tornado jinja2
jsonschema
pip install jupyter
7.安装
Java
Runtime Environment
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java7-set-default
8.编译安装
octave
4.0.3
sudo add-apt-repository ppa:octave/stable
sudo apt-get update #用于安装octave依赖
下载
octave
源码
,网址
ftp://ftp.gnu.org/gnu/octave/
tar
zxvf octave-4.0.3.tar.gz
cd octave-4.0.3
sudo apt-get build-dep octave #安装octave依赖
sudo apt-get install libportaudio-dev libqt4-opengl-dev
./
configure
make -j8
make check -j8
sudo make install
9.编译安装
protobuf
查看
pip
安装的
protobuf
版本
pip list
#pip
安装列表
查看
protobuf
版本
,假设为
protobuf(3.1.0)
查看是否安装有旧版本的
protobuf
,若有则需要卸载旧版本
下载相应版本
ver
3.1
的
protobuf
代码
tar
zxvf protobuf-3.1.0.tar.gz
cd protobuf-3.1.0
sudo apt-get install autoconf automake libtool curl
./
autogen.sh
./
configure -prefix=/usr
make -j8
make check -j8
sudo make install
sudo ldconfig
10.编译
caffe/pycaffe/octave
su
do apt-get install -y
libleveldb-dev libsnappy-dev libhdf5-serial-dev
sudo apt-get install -y
libatlas-base-dev
sudo apt-get install -y --no-install-recommends libboost-all-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
再次确认
protoc
版本为
3.1.0
*
若不是则需卸载
libprotobuf-dev
和
protobuf-compiler
,并重新安装
protobuf3.1.0
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config
gedit Makefile.config #
详见附录
gedit CmakeLists.txt #
打开
MATLAB/Octave
编译选项
mkdir
build
cd build
cmake-gui.. #
在
cmake-gui
中配置相应的选项
确认编译方式为
Release
确认
libhdf
5.so
的位置(文件夹)
确认
octave
混合编译器的位置
(文件)
点击
configure
点击
generate
m
ake all -j8
make test
make runtest -j8
make pycaffe #
编译完成后将
./caffe/python
加入到
PYTHONPATH
环境变量
make octave #
编译完成后配置
octave
附件
1
:
CaffeMakefile.config
文件参考配置选项
##Refer to http://caffe.berkeleyvision.org/installation.html
#Contributions simplifying and improving our build system are welcome!
#cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN:= 1
#CPU-only switch (uncomment to build without GPU support).
#CPU_ONLY := 1
#uncomment to disable IO dependencies and corresponding data layers
#USE_OPENCV := 0
#USE_LEVELDB := 0
#USE_LMDB := 0
#uncomment to allow MDB_NOLOCK when reading LMDB files (only ifnecessary)
# Youshould not set this flag if you will be reading LMDBs with any
# possibilityof simultaneous read and write
#ALLOW_LMDB_NOLOCK := 1
#Uncomment if you're using OpenCV 3
OPENCV_VERSION:= 3
#To customize your choice of compiler, uncomment and set thefollowing.
#N.B. the default for Linux is g++ and the default for OSX is clang++
#CUSTOM_CXX := g++
#CUDA directory contains bin/ and lib/ directories that we need.
CUDA_DIR:= /usr/local/cuda
#On Ubuntu 14.04, if cuda tools are installed via
#"sudo apt-get install nvidia-cuda-toolkit" then use thisinstead:
#CUDA_DIR := /usr
#CUDA architecture setting: going with all of them.
#For CUDA < 6.0, comment the *_50 lines for compatibility.
CUDA_ARCH:= -gencode arch=compute_30,code=sm_30 \
-gencodearch=compute_35,code=sm_35 \
-gencodearch=compute_50,code=sm_50 \
-gencodearch=compute_52,code=sm_52 \
-gencodearch=compute_52,code=compute_52
#BLAS choice:
#atlas for ATLAS (default)
#mkl for MKL
#open for OpenBlas
BLAS:= atlas
#Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
#Leave commented to accept the defaults for your choice of BLAS
#(which should work)!
#BLAS_INCLUDE := /path/to/your/blas
#BLAS_LIB := /path/to/your/blas
#Homebrew puts openblas in a directory that is not on the standardsearch path
#BLAS_INCLUDE := $(shell brew --prefix openblas)/include
#BLAS_LIB := $(shell brew --prefix openblas)/lib
#This is required only if you will compile the matlab interface.
#MATLAB directory should contain the mex binary in /bin.
#MATLAB_DIR := /usr/local
#MATLAB_DIR := /Applications/MATLAB_R2012b.app
#MATLAB_DIR := /home/zq/programfiles/MATLAB/R2016b
#NOTE: this is required only if you will compile the python interface.
#We need to be able to find Python.h and numpy/arrayobject.h.
#PYTHON_INCLUDE:= /usr/include/python2.7 \
#/usr/lib/python2.7/dist-packages/numpy/core/include
#Anaconda Python distribution is quite popular. Include path:
#Verify anaconda location, sometimes it's in root.
ANACONDA_HOME := $(HOME)/anaconda
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
#Uncomment to use Python 3 (default is Python 2)
#PYTHON_LIBRARIES := boost_python3 python3.5m
#PYTHON_INCLUDE := /usr/include/python3.5m \
# /usr/lib/python3.5/dist-packages/numpy/core/include
#We need to be able to find libpythonX.X.so or .dylib.
#PYTHON_LIB:= /usr/lib
PYTHON_LIB := $(ANACONDA_HOME)/lib
#Homebrew installs numpy in a non standard path (keg only)
#PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core;print(numpy.core.__file__)'))/include
#PYTHON_LIB += $(shell brew --prefix numpy)/lib
#Uncomment to support layers written in Python (will link againstPython libs)
WITH_PYTHON_LAYER:= 1
#Whatever else you find you need goes here.
#HDF5_DIRS:=/usr/local/hdf5-1.8.17
INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/include /usr/local/include /usr/lib/usr/include/hdf5 /usr/include/hdf5/serial/usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS:= $(PYTHON_LIB) /usr/lib /usr/local/lib /usr/lib/x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/hdf5/serial/lib/usr/lib/x86_64-linux-gnu/hdf5/serial
#If Homebrew is installed at a non standard location (for example yourhome directory) and you use it for general dependencies
#INCLUDE_DIRS += $(shell brew --prefix)/include
#LIBRARY_DIRS += $(shell brew --prefix)/lib
#Uncomment to use `pkg-config` to specify OpenCV library paths.
#(Usually not necessary -- OpenCV libraries are normally installed inone of the above $LIBRARY_DIRS.)
#USE_PKG_CONFIG := 1
#N.B. both build and distribute dirs are cleared on `make clean`
BUILD_DIR:= build
DISTRIBUTE_DIR:= distribute
#Uncomment for debugging. Does not work on OSX due tohttps://github.com/BVLC/caffe/issues/171
#DEBUG := 1
#The ID of the GPU that 'make runtest' will use to run unit tests.
TEST_GPUID:= 0
#enable pretty build (comment to see full commands)
Q?= @
- 深度学习框架Caffe配置:Ubuntu 16.04+CUDA8.0+cuDNN5.1+OpenCV3.1+Anaconda+Octave4.0.3
- Win10下配置深度学习框架Caffe及python接口 CUDA8.0+CUDNn5.1
- ubuntu16.04+caffe+cuda8.0+cudnn5.1+opencv3.1配置
- ubuntu kylin 14.06+cuda8+cudnn5+opencv3.1+caffe环境搭建
- Ubuntu 16.04+CUDA8.0+Caffe+OpenCV3.1
- 深度学习环境配置:ubuntu16.04 + cuda8.0 + cudnn5.1
- Ubuntu16.04 cuda8.0+cudnn5.1 opencv3.3 caffe-faster-rcnn 服务器配置
- ubuntu16+cuda8.0+cudnn5+opencv3+caffe+ssd深度学习平台搭建步骤
- Ubuntu16.04 Anaconda+Theano+Cuda8.0+Cudnn5.1+keras配置
- ubuntu14.04+1050显卡+cuda8.0.44+cudnn5.1+anaconda+caffe
- [深度学习]Ubuntu16.04 + GTX 1050 + cuda8.0 + cuDNN5.1 + caffe安装详解
- [深度学习]Ubuntu16.04 + GTX 1050 + cuda8.0 + cuDNN5.1 + caffe安装详解
- Ubuntu 14.04+cuda8.0+opencv3.1+caffe
- ubuntu16.04配置caffe+cuda8.0+cudnn5.1
- Ubuntu16.04+caffe+cuda8.0+cudnn5.1+opencv配置
- windows+cuda8.0+VS2015+matlab2017b+cudnn5.1安装配置Caffe
- 深度学习框架caffe配置(ubuntu14.04+cuda8.0+cudnn v5.1 + caffe)
- ubuntu16.04+CUDA8.0+cuDNN5.1+opencv2.4.13+Anaconda的caffe编译过程
- iOS 获取通讯录
- ras工具类
- 【转载】《计算机教育》专题报道:从一个教育实例,看信息技术对教育的影响
- 关于建表的补充
- 2017华为面试算法题小结
- 深度学习框架Caffe配置:Ubuntu 16.04+CUDA8.0+cuDNN5.1+OpenCV3.1+Anaconda+Octave4.0.3
- Android 工程签名打包时报错
- Mac Python实用工具开发记录
- CAS与sun.misc.Unsafe
- ThinkPHP如何给网页加公共的header文件和footer文件
- Alamofire网络库基础教程
- java 常用加密解密算法汇总(一)
- 6大设计原则
- Android面试题整理