Ubuntu编译安装caffe

2020-03-21  本文已影响0人  几时见得清梦

  1. 官方caffe github:https://github.com/BVLC/caffe
  2. 官方caffe官网:http://caffe.berkeleyvision.org/
  3. 不建议通过apt install方式安装caffe,可能会导致环境冲突。
    【我的电脑已经安装好了nvidia驱动、cuda、cudnn等,然后使用sudo apt install caffe-cuda安装caffe,结果导致显卡驱动崩溃】
  4. ubuntu16和ubuntu18略有不同,但整体步骤是相同的。

一、安装前需要

ubuntu
nvidia driver
cuda
cudnn
python
opencv

二、安装caffe

1.安装依赖库

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install vim cmake git
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
sudo apt-get install python-pip python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
sudo apt-get install libatlas-dev libatlas3-base  libatlas-base-dev 

安装依赖过程中出错基本可以通过百度/google解决。

2.下载代码

官方版本caffe:git clone https://github.com/BVLC/caffe.git
也可以下载其他第三方的caffe

3.修改Makefile及Makefile.config

  1. 修改Makefile.config
    cp Makefile.config.example Makefile.config
    根据需要修改。大概需要修改的点有:
    • 是否使用gpu:
USE_CUDNN := 1
CPU_ONLY := 1
CUDA_DIR := /usr/local/cuda-10.1
CUDA_ARCH := -gencode arch=compute_50,code=compute_50
PYTHON_INCLUDE
ANACONDA_HOME
PYTHON_LIBRARIES
PYTHON_LIB
WITH_PYTHON_LAYER
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
  1. 修改Makefile
LIBRARIES += glog gflags protobuf leveldb snappy lmdb boost_system hdf5_serial_hl hdf5_serial m opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
PYTHON_LIBRARIES := boost_python-py36 python3.6m

4.编译

make all
make pycaffe(如果不使用python接口则不需要编译这一句)
make test
make runtest

每一个编译命令都可以在后边加上 -j*的选项,表示使用多少个核编译,可以加快速度,取决于机器cpu的性能。

5.其他设置

  1. 设置环境变量
    如果需要python接口,则需要添加环境变量
export PYTHONPATH=/your/caffe/root/dir/python:$PATHONPATH

6.样例测试

下载mnist数据集:./data/mnist/get_mnist.sh
生成训练所需数据:./examples/mnist/create_mnist.sh
训练:./examples/mnist/train_lenet.sh
测试:./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_10000.caffemodel

上一篇下一篇

猜你喜欢

热点阅读