Install Deepdream(Caffe-python) on Mac OS X Yosemite 10.10.3

2015-07-10 14:35:00 +08:00
 irainy

>> Original post <<

Deepdream是最近Google开源的一个很好玩的项目,让我们可以看到利用深度学习对图片进行分类时,相邻神经网络层次之间的信息传递。Deepdream是基于Caffe框架,因此主要是安装Caffe的依赖环境和Caffe框架。

1. 下载 Caffe

git clone https://github.com/BVLC/caffe.git
cd caffe && cp Makefile.config.example Makefile.config

2. 安装 Caffe 依赖

# 1. CUDA is required for GPU mode.
# 不采用GPU模式,只需要在 Makefile.config 中修改 
CPU_ONLY := 1

# 2. BLAS via ATLAS, MKL, or OpenBLAS.
# Basic Linear Algebra Subprograms,基础线性代数程序集
# 应该是系统有自带了实现方案

# 3. Boost >= 1.55
# Deepdream是用Python接Caffe,因此还需要 boost.python 支持

brew install boost --with-python
brew install boost-python

# 4. OpenCV >= 2.4 including 3.0
# OpenCV 就不用说了

# 5. protobuf, glog, gflags
brew install protobuf
brew install glog
brew install gflags

# 6. IO libraries hdf5, leveldb, snappy, lmdb

brew install leveldb
brew install lmdb

brew tap homebrew/science
brew install homebrew/science/hdf5
# python driver for hdf5
pip install h5py

# 7. numpy for python
brew install numpy

3. Setup for Python

官方推荐使用Anaconda,包含了大部分可能用到的Python package,然而这里有很大一个坑,Mac下面Anaconda是安装在~/anaconda目录下,要使用~/anaconda/bin/python~/anaconda/bin/ipython而非原系统的Python,这要求所有Homebrew安装的包都必须通过Anaconda下的Python来执行,因此如果从一开始就打算用Anaconda,要注意修改环境变量。

这里不使用Anaconda,注意Makefile.config中提到:

# 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

如果是通过Homebrew安装的numpy,需要添加numpy路径,否则会报错:

python/caffe/_caffe.cpp:10:10: fatal error: 'numpy/arrayobject.h' file not found

# Add this to PYTHON_INCLUDE in Makefile.config
PYTHON_INCLUDE := /usr/include/python2.7 \
    /usr/local/Cellar/numpy/1.9.2_1/lib/python2.7/site-packages/numpy/core/include

4. make

make all
make test
make runtest

make pycaffe

都通过之后将 caffe/python/添加到Python系统路径:

export PYTHONPATH=path/to/caffe/python:$PYTHONPATH

测试一下:

python
>>> import caffe

# 可能的错误
ImportError: No module named skimage.io
# 解决
pip install scikit-image

5. Run ipython notebook

git clone https://github.com/google/deepdream.git
cd deepdream && ipython notebook

需要下载 BVLC GoogleNet Modelpath/to/caffe/models/bvlc_googlenet/,然后就可以基于自己的图片,让它做梦给你看!

6. Result

2311 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/204752

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX