Help us understand the problem. What is going on with this article?

deepdream を動かしてみる

More than 5 years have passed since last update.

Google の deep learning のきもいやつdeepdream を動かしてみる。
環境は OS X 10.10.4, iMac (27-inch, Late 2012), NVIDIA GeForce GTX 675MX 1024 MB。

まず Caffe インストール

ここ参考に。
http://caffe.berkeleyvision.org/installation.html
http://caffe.berkeleyvision.org/install_osx.html

CUDA
最新版の 7 が strongly suggested
https://developer.nvidia.com/cuda-downloads

Caffe は Anaconda の Python がいいつってるので、そっちいれる。
http://continuum.io/downloads
(brew のは uninstall か unlink する、はいってるなら)

ほか、必要なパッケージを brew でいれる。

brew install --fresh -vd snappy leveldb gflags glog szip lmdb
brew tap homebrew/science
# Anaconda の Python なら hdf5 はインストール済みっぽい
brew install hdf5 opencv
brew install --build-from-source --with-python --fresh -vd protobuf

boost と boost-python は最新版の 1.58.0 では、caffe コンパイルエラーになっちゃうのでいっこまえの 1.57.0 を入れる。↓いれかた
Itinerant Bioinformaticist: Caffe incompatible with Boost 1.58.0

brew uninstall boost boost-python
cd $(brew --prefix)
cd Library/Formula
curl -O https://raw.githubusercontent.com/Homebrew/homebrew/6fd6a9b6b2f56139a44dd689d30b7168ac13effb/Library/Formula/boost.rb
curl -O https://raw.githubusercontent.com/Homebrew/homebrew/3141234b3473717e87f3958d4916fe0ada0baba9/Library/Formula/boost-python.rb
brew install boost boost-python

ようやく caffe 本体

git clone --depth 1 git@github.com:BVLC/caffe.git
cd caffe
pip install -r python/requirements.txt
cp Makefile.config.example Makefile.config

Makefile.config は 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 \
#       /usr/lib/python2.7/dist-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/lib
PYTHON_LIB := $(ANACONDA_HOME)/lib

コンパイル。

make all -j4
make test
# CUDA ライブラリあるとこを適当に指定
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/cuda/lib:~/anaconda/lib
make runtest
# ↓ ドキュメントにないけど Python から caffe つかうには必要、たぶん
make pycaffe

caffemodel ファイルだけ別途配布なので↓から。
https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet
caffemodel_url ってかいてあるやつ。おとして caffe/models/bvlc_googlenet に入れる。

iPython Notebook

deepdream のサンプルコードは iPython Notebook 形式で配布されてるので、iPython Notebook をいれる。(Anaconda にはもとからはいってるっぽい)

pip install "ipython[notebook]"

deepdream 動かしてみる

入ってないならいれる。(Anaconda にはもとからはいってるっぽい)

pip install numpy scipy pil

deepdream おとす。

git clone --depth 1 git@github.com:google/deepdream.git

iPython Notebook 立ち上げる

cd deepdream-master
# CUDA まわりのライブラリがみつからない場合↓設定
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/cuda/lib:~/anaconda/lib
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
ipython notebook

ブラウザ勝手にひらくので dream.ipynb 選ぶ。あとはツールバーの再生ボタンぽちぽちやれば上から python スクリプト実行されてく。In[3] のとこの 1 行目、caffemodel ファイルがあるパスに書き換えること。

model_path = '/some/path/caffe/models/bvlc_googlenet/' # substitute your path here

エラーでなければ In[7] のスクリプト実行すれば例のキモいやつできあがる。
inception.jpeg

iPython Notebook つかわずに

ふつうの Python からやるには、dream.ipynb にはいってたスクリプトをコピペでいっこのファイルにまとめて、あとはてきとうに。こんなかんじ。
https://gist.github.com/Saqoosha/50b83b10f8dfc1cc0a3b
↑ので↓これできる。
https://vimeo.com/132849531 (連番出力したあと After Effects でタイムリマップかけてる)
これはデフォルトの bvlc_googlenet じゃなくって finetune_flickr_style をつかってる。end パラメタも変更必要。pool5 つかってる。これかえるといろいろ絵もかわる。end に何が指定できるかは net.blobs.keys() を呼べばリストがでてくるのでその中から。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away