最完整的mac安装caffe
Dependencies :
[TIP : Though the official documentation suggests installing Anaconda, it would be better to avoid using the same. The following installation procedure assumes the absence of Anaconda]
OS X 10.10 :
- Install Homebrew Package Manager
- Paste the following in a terminal prompt. The script explains what it will do and then pauses before it does it. This package manager would be of great use throughout the installation tasks.
- ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Get CUDA 7.0
- Install dependencies via homebrew
- We will need to edit the OpenCV installation file a bit.
- brew edit opencv
- replace the following lines -
- args « "-DPYTHON#{py_ver}_LIBRARY=#{py_lib}/libpython2.7.#{dylib}"
- args « "-DPYTHON#{py_ver}_INCLUDE_DIR=#{py_prefix}/include/python2.7"
- with -
- args « "-DPYTHON_LIBRARY=#{py_prefix}/lib/libpython2.7.dylib"
- args « "-DPYTHON_INCLUDE_DIR=#{py_prefix}/include/python2.7"
- Install snappy, leveldb, gflags, glog, szip, lmdb and opencv.
- brew install —fresh -vd snappy leveldb gflags glog szip lmdb homebrew/science/opencv
- Install protobuf.
- brew install —build-from-source —with-python —fresh -vd protobuf
- Install boost libraries for python.
- brew install —build-from-source —fresh -vd boost boost-python
- We will need to edit the OpenCV installation file a bit.
UBUNTU 14.04 :
To be updated.
Download Caffe
Create a directory where you would like to install caffe. For all future reference, this will be called the <caffe-home>
From inside the <caffe-home> directory, execute the following commands :
$> git clone https://github.com/BVLC/caffe.git
$> cd caffe
$> cp Makefile.config.example Makefile.config
Edit the Makefile.config : [Very Imp]
Keep track of all the path variables set in the the Makefile.config (the smallest of mistakes can lead you off track for days together). Here's my complete Makefile.config for the hasty ones here… We'll tackle each step in the upcoming section.
## 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
# 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 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_50,code=compute_50
# 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
# 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/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 \
# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/
# PYTHON_LIB := $(ANACONDA_HOME)/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
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
# 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
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 ?= @
Now lets look at the file step-by-step.
We leave this part commented out as we wont be using cuDNN in our installation. It speeds up the Caffe processes but for a general (simplistic and working) installation, it can be left out.
# cuDNN acceleration switch (uncomment to build with cuDNN).
# USE_CUDNN := 1
We build caffe without GPU support (following the idea of having a simplistic,working installation).
# CPU-only switch (uncomment to build without GPU support).
CPU_ONLY := 1
Pretty self-explanatory with the comments. This is the path to your local installation of CUDA.
# 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
You can chose from ATLAS, MKL, or OpenBLAS for your BLAS choices.
OSX has in-built BLAS libs so leave the BLAS:=atlas (default)
# 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
Use this only if you need MatCaffe interface for Caffe. Following our idea of simplistic installation, we will skip this part.
# 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
Now this is a tricky part. To install Caffe with the python interface, PyCaffe (Recommended) you need to give the paths to your python include libs and the path where you have numpy stored. Path to numpy include folder must be given with great caution. You might land into unnecessary trouble by specifying this path incorrectly.
# 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/include/python2.7 \
/usr/local/lib/python2.7/site-packages/numpy/core/include/
This was the most important tweak required to get PyCaffe up and running. You might have different versions of python installed on your local machine and in your homebrew instance. This would lead to problems when importing caffe from your python interpreter. To overcome this problem, make sure that you provide the correct path to your brewed python.
# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/
The rest of the parts can be left out as they are not used anyways (commented out) and hold not much importance. You are all set to compile Caffe! Almost there!
Compile :
Now hoping that all the above steps went as planned, we can finally compile Caffe. So keeping your fingers crossed, execute the following from your <caffe-home>:
$> make clean
$> make all
$> make test
$> make runtest
These commands will take a few minutes to execute. I'd suggest you skim through the output of these commands being printed on the stdout and make sure you see no alarming warnings/errors. You might see quite a few warnings of unused variables and parallel threads (-pthread). These are not things you should worry about.
The output of the 'make runtest' command would be somewhat as the image below,
PyCaffe
Now to install and configure the python interface to Caffe, first lets make sure we have all the python dependencies installed. The requirements.txt file handles this list.
for req in $(cat requirements.txt); do pip install $req; done
Now, to compile the PyCaffe interface, from the <caffe-home> do
make pycaffe
IMP : Don't forget to set the PYTHONPATH variable in your ~/.bash_profile (OSX) or ~/.bashrc (Linux) to the caffe python.
export PYTHONPATH=<caffe-home>/python:$PYTHONPATH
Some versions of the official documentation show that the PYTHONPATH variable needs to be set to <caffe-home>/python/caffe, however this is an error in the documentation and the above path should be set.
You might also run the following command to create a distribute directory with all the Caffe headers, compiled libraries, binaries, etc. needed for distribution to other machines.
make distribute
To finally import caffe in the python interpreter, go the python folder in <caffe-home> and execute
$> cd <caffe-home>/python
$> python
Python 2.7.9 (default, Jan 29 2015, 06:27:40)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
Done!
Now you are all set to rock! Play around with a few examples like Training LeNet on MNIST or see how to use the pre-trained models like ImageNet.
End-Note :
- Hope this page helps reduce some effort required to install Caffe on your machines. To view our bigger attempts at reducing this overload, checkout the CloudCV organisation page.
- The BVLC Caffe issues and the caffe-users google-group are excellent sources to get your queries solved and debug the errors you face.
- I have taken references from a lot of sources I found online and one can easily find them through the sources cited in above bullet. This wiki is for educational purposes only.
最完整的mac安装caffe的更多相关文章
- 20160512关于mac安装caffe的记录
记得2015年在mac系统上安装过一次caffe,非常顺利,但是最近群里许多同学反映mac安装caffe出现了各种问题,同时我也在帮助别人安装caffe的时候也遇到了一些坑,不再像以前这么顺利了.估计 ...
- 【记录】在MAC上安装caffe
---恢复内容开始--- 最近尝试在MAC(OS X 10.11 El Capitan)上安装Caffe 以及Python接口遇到了一些问题但是官方安装教程上并没有提出这些问题的解决办法搜索了很久(主 ...
- caffe Mac 安装
参考了 https://zhuanlan.zhihu.com/p/24853767 安装caffe的依赖项 brew install --fresh -vd snappy leveldb gflags ...
- [caffe]linux下安装caffe(无cuda)以及python接口
昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...
- Docker for mac安装
Mac安装Docker docker下载地址: https://hub.docker.com/editions/community/docker-ce-desktop-mac docker for m ...
- Ubuntu系统---安装Caffe (+OpenCV+Python+CPU-only)
安装配置Ubuntu14.04+Caffe (+OpenCV+Python+CPU-only) 记录 [作者:Wu Ping.时间:20180428.] 本人已经安装很多次的Caffe了:从开始的初探 ...
- 学习Caffe(一)安装Caffe
Caffe是一个深度学习框架,本文讲阐述如何在linux下安装GPU加速的caffe. 系统配置是: OS: Ubuntu14.04 CPU: i5-4690 GPU: GTX960 RAM: 8G ...
- Caffe学习笔记2--Ubuntu 14.04 64bit 安装Caffe(GPU版本)
0.检查配置 1. VMWare上运行的Ubuntu,并不能支持真实的GPU(除了特定版本的VMWare和特定的GPU,要求条件严格,所以我在VMWare上搭建好了Caffe环境后,又重新在Windo ...
- mac安装tensorflow报错
问题:mac安装tensorflow过程中,爆出oserror:permission denied 解决方案:关闭mac的sip,然后sudo安装 关闭sip的方法:重启mac,按住command+R ...
随机推荐
- Codeforces Gym - 101102A - Coins
A. Coins 题目链接:http://codeforces.com/gym/101102/problem/A time limit per test 3 seconds memory limit ...
- js实现文件的上传和输出,拖拽上传图片
js文件上传 文件下载 以前的文件的下载都是在服务器,现在也是放在服务器比较好,有时候为了一些开发的方便,我们临时把处理的数据就放在了本地,然后自己访问.这个也是可以的. 1.利用html5的 Fil ...
- Unity中利用光线投射实现摄像机拉近追踪对象
项目中要求实现摄像机跟踪人物移动,并且可以水平360°,上下接近180°的自由旋转.这些操作网上已近有很多版本的实现,在此不再赘述.我在此想说的是,当摄像机移动到场景边界,或者触碰到场景中的障碍物的时 ...
- Ubuntu 16 , 从时间服务器更新时间
因为在公司的内网,所以不能用Ubuntu默认的服务器去更新时间. 只能改成从网关 10.182.202.2 上取时间 1) 如果没有安装ntp 的话,先安装 apt-get install ntp 2 ...
- Lab 1-2
Analyze the file Lab01-02.exe. Questions and Short Answers Upload the Lab01-02.exe file to http://ww ...
- Hadoop-2.3.0的Eclipse插件编译
Hadoop-2.3.0的Eclipse插件编译 #cd /usr/local/src/hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugi ...
- vux,vue 苹果手机使用position:fixed有问题,如何解决
苹果手机真是各种坑,导致我都想摔手机呀,但没办法,用苹果的人太多,程序员还是继续在坑的路上行走! 上一篇文章介绍了一些组件,就是使用vux可以解决,苹果手机使用position:fixed的问题 给需 ...
- linux Boot目录满了之后的解决方法
boot目录为什么会满? Linux默认分区时,boot分区就200多M,按理说也不小,足够了(实际也就几十M),但是内核经常性的升级,而且自己又不自动卸载,于是该目录下旧的内核文件越积越多,最后就满 ...
- yield生成器
def say_hi(): while True: print("before") ret0 = "返回值" msg = yield ret0 #yield后的 ...
- 【Java】【2】String和List相互转换
正文: 1,String转List //常见的为逗号分隔 String str = "a,b,c"; List<String> list1 = Arrays.asLis ...