caffe+opencv+openblas+Anaconda+ubuntu14.04配置
本安装教程主要包含7个部分,包括: 第一部分:安装开发依赖包 第二部分:opencv安装和调试 第三部分:Anaconda安装和调试 第四部分:openblas安装和调试 第五部分:Caffe的安装和测试
第六步分:在minist的数据包上训练测试 第七部分:出现的问题及解决方案
1. 安装开发依赖包
在linux命令行指令中安装开发所需要的一些基本包指令: sudo apt-get install build-essential 安装caffe所需要的一些依赖包:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler install-gcc-multilib install-gfortrain-multilib 安装Anaconda所需要的依赖包: python-dev python-pip 2. opencv安装和调试
安装opencv时没有手动安装, 采用Github上有人已经写好了完整的安装脚本,选择这个链接https://github.com/jayrambhia/Install-OpenCV,下载后解压,然后进去该目录,选择自己的操作系统,比如我的是Ubuntu,执行 sudo ./dependencies.sh sudo ./open2_4_9.sh
其中第一步是安装依赖项opencv的所有依赖项,该依赖项就在这个dependencies.sh文件中,第二部是安装opencv,包括下载解压存放opencv等操作,这个过程大概一两个小时,慢慢等。 3. Anaconda安装和调试
可以按照官方建议安装anaconda包。 在anaconda官网(https://www.continuum.io/downloads#all)下载.sh文件,切换到文件所在目录,执行.sh文件,最后添加bin目录到环境变量即可。
在/etc/ld.so.conf最后加入以下路径,并没有出现重启不能进入界面的问题/home/username/anaconda/lib 在~/.bashrc最后添加下边路径
export LD_LIBRARY_PATH=\\
4 openblas安装和调试
在官网下载openblas,在这个链接上选择和系统相匹配的版本
(https://launchpad.net/ubuntu/+source/openblas),并解压编译执行,具体步骤如下:
首先建立一个文件夹用来盛放解压后的openblas $mkdir openblas $cd openblas 然后编译 $make
这个编译是多线程编译。编译好之后安装之 $sudo make install 安装后即可。
5. Caffe的安装和测试
将下载后的caffe-master.zip解压,并将解压后的文件放入要存放的目录,进入caffe-master目录, 首先复制一份Makefile.config cp Makefile.config.example Makefile.config 然后修改Makefile.config中的参数: gedit Makefile.config 主要修改的参数如下:
然后编译
make all -j4 make test make runtest
最后看是否能通过编译。
6. 在minist的数据包上训练测试 首先在根目录上获取数据集并解压 cd $CAFFE_ROOT
./data/mnist/get_mnist.sh 然后执行
./examples/mnist/create_mnist.sh
将数据格式转换为lmdb格式。并将新生成的2个文件mnist-train-lmdb 和 mnist-test-lmdb放于和create_mnist.sh相同目录下。 最后执行测试集,指令如下:
./examples/mnist/train_lenet.sh
到此为止即把caffe的安装测试工作完成了。 7.出现的部分问题及解决方法
1.在安装过程中出现:
linktest.c:(.text.startup+0x55ab): undefined reference to `LAPACKE_clagsy'
linktest.c:(.text.startup+0x55b1): undefined reference to `LAPACKE_clagsy_work' linktest.c:(.text.startup+0x55b6): undefined reference to `LAPACKE_dlagsy'
linktest.c:(.text.startup+0x55bb): undefined reference to `LAPACKE_dlagsy_work' linktest.c:(.text.startup+0x55c1): undefined reference to `LAPACKE_slagsy'
linktest.c:(.text.startup+0x55c6): undefined reference to `LAPACKE_slagsy_work' linktest.c:(.text.startup+0x55cb): undefined reference to `LAPACKE_zlagsy'
linktest.c:(.text.startup+0x55d1): undefined reference to `LAPACKE_zlagsy_work' collect2: error: ld returned 1 exit status
make[1]: *** [../libopenblas_haswell-r0.2.15.so] Error 1
make[1]: Leaving directory `/usr/local/OpenBLAS-0.2.15/exports' make: *** [shared] Error 2
lpg@ubuntu:/usr/local/OpenBLAS-0.2.15$ sudo make install getarch_2nd.c: In function ‘main’:
getarch_2nd.c:67:5: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘unsigned int’ [-Wformat=] printf(\SLOCAL_BUFFER_SIZE\\t%ld\\n\(SGEMM_DEFAULT_Q * SGEMM_DEFAULT_UNROLL_N * 4 * 1 * sizeof(float))); ^
getarch_2nd.c:68:5: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘unsigned int’ [-Wformat=] printf(\DLOCAL_BUFFER_SIZE\\t%ld\\n\(DGEMM_DEFAULT_Q * DGEMM_DEFAULT_UNROLL_N * 2 * 1 * sizeof(double))); ^
getarch_2nd.c:69:5: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘unsigned int’ [-Wformat=] printf(\CLOCAL_BUFFER_SIZE\\t%ld\\n\(CGEMM_DEFAULT_Q * CGEMM_DEFAULT_UNROLL_N * 4 * 2 * sizeof(float))); ^
getarch_2nd.c:70:5: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘unsigned int’ [-Wformat=] printf(\ZLOCAL_BUFFER_SIZE\\t%ld\\n\(ZGEMM_DEFAULT_Q * ZGEMM_DEFAULT_UNROLL_N * 2 * 2 * sizeof(double))); ^
make -j 1 -f Makefile.install install
make[1]: Entering directory `/usr/local/OpenBLAS-0.2.15' Generating openblas_config.h in /opt/OpenBLAS/include Generating f77blas.h in /opt/OpenBLAS/include Generating cblas.h in /opt/OpenBLAS/include
Copying LAPACKE header files to /opt/OpenBLAS/include Copying the static library to /opt/OpenBLAS/lib Copying the shared library to /opt/OpenBLAS/lib
Generating OpenBLASConfig.cmake in /opt/OpenBLAS/lib/cmake/openblas
Generating OpenBLASConfigVersion.cmake in /opt/OpenBLAS/lib/cmake/openblas
Install OK!
make[1]: Leaving directory `/usr/local/OpenBLAS-0.2.15' 这种问题通过以下方法解决:
首先添加依赖库install-gcc-multilib install-gfortran-multilib libopenblas,然后执行make TARGET=BANIS SINARY=32即可解决问题。 2.修改后的gedit Makefile.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
CPU_ONLY := 1
# uncomment to disable IO dependencies and corresponding data layers USE_OPENCV := 1 USE_LEVELDB := 1 USE_LMDB := 1
# uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary) # You should not set this flag if you will be reading LMDBs with any # possibility of simultaneous read and write # ALLOW_LMDB_NOLOCK := 1
# Uncomment if you're using OpenCV 3 OPENCV_VERSION := 2.4.9
# To customize your choice of compiler, uncomment and set the following. # 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
# \# 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_20,code=sm_20 \\ -gencode arch=compute_20,code=sm_21 \\ -gencode arch=compute_30,code=sm_30 \\ -gencode arch=compute_35,code=sm_35 \\ -gencode arch=compute_50,code=sm_50 \\ -gencode arch=compute_50,code=compute_50
# BLAS choice:
# atlas for ATLAS (default) # mkl for MKL
# open for OpenBlas #BLAS := atlas
BLAS := open
# 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
BLAS_INCLUDE := /usr/local/OpenBLAS-0.2.15 BLAS_LIB := /usr/local/OpenBLAS-0.2.15
#export LD_LIBRARY_PATH=/usr/lib/openblas-base/
# Homebrew puts openblas in a directory that is not on the standard search 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
# 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 \\
# 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 against Python libs) # WITH_PYTHON_LAYER := 1
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
# If Homebrew is installed at a non standard location (for example your home 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 in one of the above $LIBRARY_DIRS.)
# USE_PKG_CONFIG := 1
BUILD_DIR := build
DISTRIBUTE_DIR := distribute # Uncomment for debugging. Does not work on OSX due to https://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)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库caffe+opencv+openblas+Anaconda+ubuntu14.04配置在线全文阅读。
相关推荐: