How to install caffe in macOS 10.12.5
2017-07-14 17:56
429 查看
本文主要用于记录在MacBookPro笔记本电脑中安装Caffe(CPU-Only)框架。
安装过程
安装brew$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"[/code]
安装依赖$ brew install git openblas python $ brew install --fresh -vd snappy leveldb gflags glog szip hdf5 lmdb homebrew/science/opencv $ brew install --fresh -vd --with-python protobuf $ brew install --fresh -vd boost boost-python
下载配置Caffe$ git clone https://github.com/BVLC/caffe.git $ cd caffe $ cp Makefile.config.example Makefile.config
修改后的 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 # 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. # 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. PYTHON_INCLUDE := /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7 \ /usr/local/lib/python2.7/site-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/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/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 /usr/local/Cellar/lmdb/0.9.21/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/local/Cellar/lmdb/0.9.21/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 ?= @
编译Caffe$ make all -j $ make test $ make runtest $ make distribute
编译pycaffe$ cd caffe/python $ for req in $(cat requirements.txt); do pip install $req -i https://pypi.douban.com/simple; done $ cd caffe $ make pycaffe $ cd caffe/python $ pwd /Users/tianzhaixing/Github/caffe/python # 替换tianzhaixing为你自己的用户名 $ vi ~/.bash_profile
在最后一行添加以下代码,并保存。export PYTHONPATH=/Users/tianzhaixing/Github/caffe/python:$PYTHONPATH # 替换tianzhaixing为你自己的用户名
然后,让修改立即生效$ source ~/.bash_profile$ python Python 2.7.13 (default, Dec 18 2016, 07:03:39) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import caffe >>> caffe.__version__ '1.0.0' >>>测试MNIST
$ cd caffe $ ./data/mnist/get_mnist.sh #下载MNIST数据库并解压缩 $ ./examples/mnist/create_mnist.sh #将其转换成Lmdb数据库格式 $ vi examples/mnist/lenet_solver.prototxt # 设置solver_mode: CPU $ ./examples/mnist/train_lenet.sh # 训练网络
测试结果:I0714 17:04:26.067178 2759803840 solver.cpp:397] Test net output #0: accuracy = 0.991 I0714 17:04:26.067211 2759803840 solver.cpp:397] Test net output #1: loss = 0.0290302 (* 1 = 0.0290302 loss) I0714 17:04:26.067217 2759803840 solver.cpp:315] Optimization Done. I0714 17:04:26.067222 2759803840 caffe.cpp:259] Optimization Done.问题
Not found libhdf5.100.dylib$ cd cd /usr/local/opt/hdf5/lib $ cp libhdf5.101.dylib libhdf5.100.dylib # 或者用软连接
python/caffe/_caffe.cpp:10:10: fatal error: ‘numpy/arrayobject.h’ file not found$ python Python 2.7.13 (default, Dec 18 2016, 07:03:39) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import numpy as np >>> np.get_include() '/usr/local/lib/python2.7/site-packages/numpy/core/include' >>>
修改将Caffe中Makefile.config对应PYTHON_INCLUDE部分。参考
MAC OS X10.10下Caffe无脑安装(CPU ONLY)
Mac下配置Caffe的Python接口
caffe
相关文章推荐
- windows下python如何安装模块或包? How to install package or module in windows OS when using PYTHON?
- How To Install Jekyll in Mac OSX Mavericks?
- How to install latest Mac OS X Lion Virtual Machin
- How to Install apk to Android Devices from Mac OS X
- How to install OS X Mavericks in Virtualbox with Niresh
- How to set the JAVA_HOME variable in Mac OS X – Snow Leopard
- how to install Matlab API in caffe
- 在LInux上安装:mysql C connector :How to install MySQL Connector/C on Mac OS X?
- HOW TO: Install Chromedriver for Mac OS X / Selenium / Python
- How to convert webp to png/jpg/gif in MacOS
- How to install/config/start-up MongoDB in MAC
- How To Install MongoDB On Mac OS X
- How to Hide Folders in Mac OS X
- How to tell if you’re running the 32 bit or 64 bit kernel in Mac OS X Snow Leopard
- iOS 如何在苹果电脑上安装svn 服务器(how to install svn server on the computer of mac os x)
- How to install OS X Mountain Lion in Virtualbox with iAtkos
- How to install Maven on Mac OS X Mavericks (10.9)
- How to uninstall CUDA driver and toolkit in Mac OS X?
- How to install ruby on mac/ change ruby source in china
- How to Install apk to Android Devices from Mac OS X