caffe安装过程记载

Posted 终有扬眉吐气天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了caffe安装过程记载相关的知识,希望对你有一定的参考价值。

前言:网上很多CAFFE安装教程,自己装的过程跟网上还是有出入,把各种问题都记录下来,方便以后查找

 

首先,是学习了寒老师的安装教程, 地址https://www.zybuluo.com/hanxiaoyang/note/364680

 

我使用的是centos7.2, 符合教程中的要求。

 

安装到教程中第5步,出现了numpy安装不上的问题,多安装两边就装上了。这一个环节是一个都不能少,少了就别先急着往下走。

 

一直到第10步,没有什么问题。

 

贴一下我的makefile.config, 我的是带GPU的,关于装驱动一会说

## 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 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 := 3

# 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-7.5
# On Ubuntu 14.04, if cuda tools are installed via
# "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
# 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 := 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

# 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
BLAS_INCLUDE := /usr/include/openblas
# 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 \

# 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/lib64
# 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

# 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 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)
Q ?= @

 

如果没有GPU,make -j4的时候就会出错,提示找不到cblas.h,看看路径配置BLAS_INCLUDE := /usr/include/openblas是不是对的


编译完成后,make runtest, 直接报错找不到libpython2.7.so, 这里是动态库加载不上,路径配置问题。因为我的是64位系统,因此PYTHON_LIB := /usr/lib64,这些地方都是不同的机器可能会不一样,最好的办法,是查找一下缺少的SO或者H文件,本质上都是编译运行问题。

 

make pytest 又报告segmentation error, 查找了一下,好像是环境变量配置问题,但是没有解决。最后直接先安装tensorflow去了,装好了发现居然可以了。。。估计是装tensorflow的时候,附带命令装好了python.

 

下面说安装nvidia和cuda

 

NVIDIA的安装教程网上都有,都是一样的。问题是,他们都没提到最后安装时,会遇到没有内核的问题。

 

安装好了NVIDIA驱动,CUDA没有问题。

 

然后就可以使用了。

以上是关于caffe安装过程记载的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu系统安装caffe过程

[转]Caffe安装过程记录(CentOS,无独立显卡,无GPU)

深度学习框架caffe在macOS Heigh Sierra上安装过程实录

Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新)

安装python caffe过程中遇到的一些问题以及对应的解决方案

Ubuntu16.04 安装配置 Caffe 过程 (GPU版+CUDA 9.0+cuDNN 9.0+OpenCV 3.4.1)