ubuntu16.04安装bvlc/caffe

记录在ubuntu16.04 x86_64上安装伯克利官网caffe版本。
https://github.com/BVLC/caffe.git
(其余组件版本为opencv2.4 、 atlas库、 python2.7.12、 使用cpu

1、安装依赖

此处吃了亏,以前习惯了多行一次性粘贴到远程terimal,都是自带换行回车的,全部逐条执行。但这次从官网教程粘贴后不好使(可能是换行没生效),导致后来make的时候各种出问题,查到问题根源发现竟然是前面的依赖没装全。
所以下面的apt-get 都尽量整合到一句命令里了。

sudo apt-get update && sudo apt-get upgrade

sudo apt-get install -y build-essential cmake git pkg-config libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev libgflags-dev libgoogle-glog-dev liblmdb-dev python-pip python-numpy python-scipy python-dev libopencv-dev

sudo apt-get install -y --no-install-recommends libboost-all-dev

以下做链接,仅针对ubuntu16.04,其余版本参考官网。

find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;

cd /usr/lib/x86_64-linux-gnu

sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so

sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so

2、修改Makefile.config和Makefile

Makefile.config修改
cpu_ONLY := 1 #使用cpu模式,因此此处打开注释
找到以下四个参数的位置,注释掉,将以下内容粘贴进去

PYTHON_INCLUDE := /usr/include/python2.7 /usr/lib/python2.7/dist-packages/numpy/core/include
WITH_PYTHON_LAYER := 1
INCLUDE_Dirs := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_Dirs := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

Makefile的修改
找到

NVCCFLAGS += -ccbin= (CXX)XcompilerfPIC (COMMON_FLAGS)

替换为

NVCCFLAGS += -D_FORCE_INLInes -ccbin= (CXX)XcompilerfPIC (COMMON_FLAGS)

修改完毕,执行安装python的库

cd python

for req in $(cat requirements.txt); do pip install $req; done

3、安装caffe

make all -j $(($(nproc) + 1))
make test
make runtest
make pycaffe      -should be finished already,so you can omit this one
make distribute

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...