环境: macOS 10.13.4,conda 3, python2.7
一、安装依赖包
主要有 snappy, leveldb,gflags,glog,hdf5,lmdb,opencv,scikit-image等,有些可能不一定需要,但是装了也没关系。直接在ANACONDA NAVIGATOR中搜索就行了。
注意要先选conda的环境再安装,否则装在别的环境中就用不了了。
安装完之后,要想在终端中直接使用的话,要先激活该环境:
source activate env_name
二、下载、编译caffe
git clone https://github.com/BVLC/caffe.git
cd caffe
拷贝Makefile.config:
cp Makefile.config.example Makefile.config
由于Mac没有GPU,因此caffe只能在cpu_only模式下运行,需要修改配置文件。打开Makefile.config文件,把cpu_only = 1那一行取消注释:
CPU_ONLY := 1
把有CUDA的行全部注释掉
BLAS选择openblas
BLAS := open
PYTHON_INCLUDE和PYTHON_LIB修改为自己的路径,如我的是在conda环境下,把所有的include和lib目录都加进去。如果发现安装了包,却报错的,手动找到包所在的目录,加进去
ANACONDA_HOME := /Users/XXX/anaconda3
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/envs/Python27/include \
$(ANACONDA_HOME)/envs/Python27/include/python2.7 \
$(ANACONDA_HOME)/envs/Python27/lib/python2.7/site-packages/numpy/core/include
PYTHON_LIB := $(ANACONDA_HOME)/lib \
$(ANACONDA_HOME)/envs/Python27/lib
把test的GPUID行注释掉
#TEST_GPUID := 0
然后开始编译caffe:
mkdir build
cd build
make all ..
make runtest ..
三、添加路径
如果前面的过程都没问题了,在caffe/python目录下打开终端运行python,应该就可以import caffe了。
如果需要在别的目录下使用caffe,需要把caffe添加到conda的python环境中。网上有各种各样的说法,但实际上都不太可行。如把caffe/pathon路径添加到~/.bash_profile中,然后再执行source ~/.bash_profile,但这样conda的python环境就变掉了,因为conda环境也是通过source命令指定的,重新source之后,python环境会变成系统默认的环境(如我的是python3.6),caffe同样无法使用。
实测可行的方法是:把caffe/python下的caffe目录直接拷贝到要使用的python环境的site-packages目录中,如我的是/Users/XXX/anaconda3/envs/Python27/lib/python2.7/site-packages(其中XXX是用户名,python27是我的python环境的名字。
最后,激活该python27环境,然后就可以使用了: