环境:
Ubuntu16.04 AMD 64位
双核
python 2.7.12
虚拟环境:Virtualenv
虚拟环境路径如下:
(python2.7) appleyuchi@ubuntu:~/.virtualenvs$

下面这个安装的缺陷在于,暂时不涉及OpenCV,有需要的请自己配置.
下面开始操作:
-----------------------------------------------------------
root权限下:
apt-fast install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler --no-install-recommends libboost-all-dev libopenblas-dev liblapack-dev libatlas-base-dev libgflags-dev libgoogle-glog-dev liblmdb-dev

git的下载速度太恶心,caffe百度链接:
https://pan.baidu.com/s/1p6eEPtHxwJC_va1LgMQaRw

稍微注意下:
每次只能编译一种python版本,根据这个Makefile.config来改具体编译哪种python版本

(python2.7) appleyuchi@ubuntu:~$ pip install scikit-image protobuf numpy

cd /home/appleyuchi/深度学习/caffe/Makefile.config
make all

***************************************
#include <numpy/arrayobject.h>
改为
#include <arrayobject.h>
这里之所以要这么改的原因是,root的python安装目录文件结构与virtualenv的安装目录结构稍微有些不太一样
****************************************

不想自己配置的,直接把下面这份文件拷贝到自己的caffe下面即可.

make test(这个其实不检查也行,就是图个心里安慰,可以直接跳过)
(python2.7) appleyuchi@ubuntu:~/深度学习/caffe/python$ for req in $(cat requirements.txt); do pip install $req; done

make pycaffe -j81
make runtest

最后,/home/appleyuchi/深度学习/caffe/build/lib/
下面会生成libcaffe.so文件,为了能在python中import,

~/.bashrc中加入以下语句:
export PYTHONPATH=~/深度学习/caffe/python:$PYTHONPATH

关掉终端,新开一个,效果如下:
(python2.7) appleyuchi@ubuntu:~$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>>

***************************************一些与include相关的报错解决方案*******************************************************

如果是缺少arrayobject.h,那么
以下命令可以查看include的路径
`g++ -print-prog-name=cc1plus` -v
修改include默认路径的办法如下:
除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径:
#.C
export C_INCLUDE_PATH=~/.virtualenvs/python2.7/lib/python2.7/site-packages/numpy/core/include/numpy:$C_INCLUDE_PATH
# CPP
export CPLUS_INCLUDE_PATH=~/.virtualenvs/python2.7/lib/python2.7/site-packages/numpy/core/include/numpy:$CPLUS_INCLUDE_PATH

同时修改(python2.7) appleyuchi@ubuntu:~/深度学习/caffe/python/caffe路径下面的_caffe.cpp文件中的
#include <numpy/arrayobject.h>

#include <arrayobject.h>
即可
**********************************************************************************************
完整的修改后的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# uncomment to disable IO dependencies and corresponding data layers
# USE_OPENCV := 0
# USE_LEVELDB := 0
# USE_LMDB := 0
# This code is taken from https://github.com/sh1r0/caffe-android-lib
# USE_HDF5 := 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
# 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 through *_61 lines for compatibility.
# For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
# For CUDA >= 9.0, comment the *_20 and *_21 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_52,code=sm_52 \-gencode arch=compute_60,code=sm_60 \-gencode arch=compute_61,code=sm_61 \-gencode arch=compute_61,code=compute_61# 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 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.# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
# ANACONDA_HOME := $(HOME)/anaconda
VIRTUALENV_HOME := ~/.virtualenvs/python2.7
PYTHON_INCLUDE := $(VIRTUALENV_HOME)/include \$(VIRTUALENV_HOME)/include/site/python2.7 \$(VIRTUALENV_HOME)/lib/python2.7/site-packages/numpy/core/include \/usr/include/python2.7 \~/.virtualenvs/python2.7/lib/python2.7/site-packages/numpy/core/include/numpy# 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 against Python libs)
# WITH_PYTHON_LAYER := 1# Whatever else you find you need goes here.
# INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/include/hdf5/serial ​ /usr/local/include
# LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu/hdf5/serial ​ /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# NCCL acceleration switch (uncomment to build with NCCL)
# https://github.com/NVIDIA/nccl (last tested version: v1.2.3-1+cuda8.0)
# USE_NCCL := 1# 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 ?= @

参考:
https://www.cnblogs.com/pprp/p/9121631.html

ubuntu16.04+Virtualenv+python2.7+Caffe安装(CPU版本,无opencv)相关推荐

  1. ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历

    首先说明,这是在台式机上的安装测试经历,首先安装的win10,然后安装ubuntu16.04双系统,显卡为GTX1060 台式机显示器接的是GTX1060 HDMI口,win10上首先安装了最新的GT ...

  2. Ubuntu16.04下ROS Kinetic的安装(2022)

    文章目录 Ubuntu16.04下ROS Kinetic的安装(2022) 一.Ubuntu16.04配置 二.ROS Kinetic安装过程 1.软件中心配置 2.ROS的下载安装 2.1添加源和密 ...

  3. ubuntu16.04 Intel Realsense D435i 环境安装

    ubuntu16.04 Intel D435i 开发 背景 intel Realsense D435i 环境配置 安装realsense D435i SDK以及realsense-ros 安装libr ...

  4. Docker在Ubuntu16.04和Windows10家庭版上安装操作步骤

    之前在 https://blog.csdn.net/fengbingchun/article/details/109559500 中对Docker作了简单的介绍,这里介绍下Docker在Ubuntu1 ...

  5. 安装caffe(CPU版本)的一些参考和问题的解决

    安装caffe(CPU版本)的一些参考和问题的解决 参考文章: (1)安装caffe(CPU版本)的一些参考和问题的解决 (2)https://www.cnblogs.com/chengjue924/ ...

  6. ubuntu16.04在英文状态下安装中文语言包的过程(法一:图形界面的方式) 以及 安装中文语言包后无法选择汉语问题的解决

    ubuntu16.04在英文状态下安装中文语言包的过程(法一:图形界面的方式) 以及 安装中文语言包后无法选择汉语问题的解决 参考文章: (1)ubuntu16.04在英文状态下安装中文语言包的过程( ...

  7. python3.8.3下载不了nltk_在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法...

    在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法,我刚开始因为不太会用linux命令,所以一直依赖于python 的pip命令,可是怎么都 ...

  8. Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...

  9. Ubuntu16.04 Flash Player播放插件安装

    Ubuntu16.04 Flash Player播放插件安装 ## Ubuntu16.04 Flash Player播放插件安装 记录在学习过程中的遇到的困难 ## Ubuntu16.04 Flash ...

最新文章

  1. 被final修饰的变量在哪存储_final,static,this,super 关键字总结,一点课堂(多岸学院)...
  2. codeforces808G Anthem of Berland(kmp+自动机+dp)
  3. shell中的文件处理
  4. HDU 1711 Number Sequence(算法验证)
  5. 武汉大学 gps 计算机 陈冰,空间参数逐级精细的比特分配方法及其装置专利_专利查询 - 天眼查...
  6. MongoDB查询(上)
  7. Intellij Idea 多模块Maven工程中模块之间无法相互引用问题
  8. 【TensorFlow】TensorFlow是什么?
  9. 打工好,还是创业好?
  10. 1016 部分A+B (15 分)—PAT (Basic Level) Practice (中文)
  11. 拓端tecdat:R语言主成分回归(PCR)、 多元线性回归特征降维分析光谱数据和汽车油耗、性能数据
  12. Spring的Bean生命周期
  13. java .getbytes_java中String的getBytes方法使用
  14. 使用LSTM模型进行产品销售额的预测产品订单效益最大化
  15. android手机设置查看电池耗电,安卓查看电池损耗代码【搞定指南】
  16. 基于HSV颜色空间的辅助车牌定位
  17. sql小数转换为百分数_这么齐全的数学单位换算表?寒假赶紧存下为孩子考试助力!...
  18. 使用51单片机编写计时器(分钟,秒钟分离版)
  19. Spark实现SVM模型
  20. 【毒思】纪念我死去的爱情

热门文章

  1. Android的学习之路(三)项目的启动过程和安装过程具体解释
  2. JS中showModalDialog详细使用
  3. JS原生封装时间函数 日期格式过滤
  4. react ajax 分页,React实现分页效果
  5. this.$nextTick()的使用场景
  6. 项目启动QRTZ_LOCKS‘ doesn‘t exist
  7. 边缘提取和场景分割 学派?
  8. 自己动手写js分享插件 [支持https] (QQ空间,微信,新浪微博。。。)
  9. 路由器WIFI连接无法正常访问个别网站及发送图片
  10. TowlHub,它不是一个简单的纸巾架