日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2023/12/20 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu16.04+Virtualenv+python2.7+Caffe安装(CPU版本,无opencv) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境:
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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。