ããã€ãå匷ãããããšäººå·¥ç¥èœïŒæ©æ¢°åŠç¿ïŒãã£ãŒãã©ãŒãã³ã°ïŒDeep LearningïŒãšãã£ããããã¯ã®èšäºã®èŠã€ããŠã¯ã¢ãŒã«ã€ãããŠãããã®ã®ãçµå±2015幎ã¯äœäžã€ãããã«çµãã£ãŠããŸã£ãã®ã§ããšã«ããäžæ©ã§ãè¶³ãèžã¿åºãã¹ãã æ¬è³ªçãªçè§£çã¯ããŠããããšã«ãã詊ããŠã¿ã ãšããããšããã£ãŠã¿ãŸããã
詊ããã®ã¯ãTensorFlowãChainerãCaffe ãšãã£ãæ©æ¢°åŠç¿ããã³ãã£ãŒãã©ãŒãã³ã°ã®ä»£è¡šçãªã©ã€ãã©ãªïŒãã¬ãŒã ã¯ãŒã¯3çš®ãšã2015幎ã«è©±é¡ã«ãªã£ããã£ãŒãã©ãŒãã³ã°ãå©çšããã¢ããªã±ãŒã·ã§ã³2çš®ïŒDeepDreamãchainer-goghïŒã
ïŒDeepDreamã§è©Šããçµæç»åïŒ
ã¿ã€ãã«ã«åæ¥ãšæžããŸããããããšãã°TensorFlowã¯ç°å¢æ§ç¯ã ããªã10åãããã°çµããã§ãããããChainerãªããŠã³ãã³ãäžçºãªã®ã§5ç§ãããã§ããCaffeã¯åã¯ããããŸããããããŸããã£ãæçæé ãæžããŠããã®ã§ãåãç°å¢ã®æ¹ã¯ãããªããããããããŸããã
ããããã¯ãChaffe & DeepDreamïŒèŠCaffeïŒã¯é£ã°ããŠãTensorFlow, Chainer&ç»é¢šå€æã詊ã ã³ãŒã¹ã§ããç°å¢æ§ç¯ã«ããããªãã®ã§ç°¡åã«çµãããšæããŸãïŒå®è¡æéã¯ããããŸããïŒãåã®ããã«ãæ°ã«ã¯ãªã£ãŠããã©å šç¶è§Šã£ãŠãªãããšããæ¹ã¯ãã²ä»æ¥ã®æŒäŒã¿ã«ã§ãã詊ããã ããïŒ
詊ããç°å¢ïŒ
- Mac OS X 10.11.1 El Capitan
- Xcode 7.2 ã€ã³ã¹ããŒã«æžã¿
TensorFlow
2015幎11æã«çºè¡šããããGoogleè£œã®æ©æ¢°åŠç¿ã©ã€ãã©ãªãããã³ãœã«ãããŒããšèªãããã§ããå瀟ã®ãµãŒãã¹ã§ãå®éã«äœ¿ãããŠãããšã®ããšã
ãã話ãèãé³å£°èªèã翻蚳ã ãã§ãªããGoogleãã©ãã®è¢«åäœèªèãé¡èªèããŠã§ãæ€çŽ¢çµæã®æé©åãGmailã®ã¡ãŒã«åå¥ãæ°çã¡ãŒã«ãœããInboxã®èªåè¿ä¿¡æäœæãããã«YouTubeãåºåäºæ¥ãŸã§ãã»ãšãã©ã®ãããã¯ããæ¯ããæ°ããªæ ¹å¹¹æè¡ãšãªã£ãŠããŸãã
TensorFlow ã®ç¹åŸŽã¯ãããŒã¿ãããŒã°ã©ããšããŠè¡šããã°ãªãã§ãåŠçã§ãããã®æ°ã«ãªãã°ããŒã¬ãã«ã®ãªãã¬ãŒã¿ãææžãã§ããæ±çšæ§ãGoogleã®å®è£œåã§äœ¿ãããé«ãããã©ãŒãã³ã¹ãCPUã§ãGPUã§ãèµ°ãããŒãPCãã巚倧ãªããŒã¿ã»ã³ã¿ãŒãŸã§åãã³ãŒãã§åãã¢ãã€ã«ç«¯æ«ã«ããããã€ã§ããã¹ã±ãŒã©ããªãã£ãèšç®æ©ç§åŠã®ç ç©¶ããå®ãããã¯ããŸã§æ±ããå¹çæ§ãããã¥ã¡ã³ããŒã·ã§ã³ããµã³ãã«ãæãPythonã§ãC++ã§ãæžããæ±ãããããªã©ãªã©ã
ãªãŒãã³åã®çã
ã©ã€ã»ã³ã¹ã¯åçšå©çšãå¯èœãª Apache 2.0 ã§ãèªç€Ÿè£œåã®ã³ã¢ã«ããªã£ãŠãããããªããããã®ããªã Google ã¯ãªãŒãã³åããã®ãïŒãšãããšããã¯æ°ã«ãªããšããã§ãã
TensorFlowããªãŒãã³ãœãŒã¹åããããšã§ãåŠè¡ç ç©¶è ãããšã³ãžãã¢ãè¶£å³ãšããŠåãçµããŠãŒã¶ãŒãŸã§ããããã人ã ã®æ©æ¢°åŠç¿ã³ãã¥ããã£ãŒããç ç©¶è«æãããåäœããã³ãŒããä»ããŠã¢ã€ãã¢ãæ Œæ®µã«ãã°ãã亀æã§ããããã«ãªããšæåŸ ããŠããããããæ©æ¢°åŠç¿ã«é¢ããç ç©¶ã®ä¿é²ã«ã€ãªãããæçµçã«æè¡ããã¹ãŠã®äººã ã«ãšã£ãŠããé©åã«æ©èœãããã®ã«ãªãã ãããããã«ãTensorFlowã®å¿çšåéã¯æ©æ¢°åŠç¿ã ãã«ãšã©ãŸããªããã¿ã³ãã¯è³ªã®ãã©ãŒã«ãã£ã³ã°ããå®å®ããŒã¿ã®åŠçã«ããããŸã§ãéåžžã«è€éãªããŒã¿ã®è§£æã«åãçµãããããåéã®ç ç©¶è ãã«ãšã£ãŠæçšã§ãããããããªãã
Googleããããæ©æ¢°åŠç¿ã¯ããããã®ç»æçãªãããã¯ããæè¡ã«æ¬ ãããªãéèŠãªèŠçŽ ãšãªããã®ã§ãäžçäžã§ç ç©¶ãé²ããããŠãããã®ã®ãæšæºãšãªãããŒã«ãååšããŠããªãããšã課é¡ãGoogle ã§ã¯ TensorFlow ãç ç©¶è ããåŠçã補åéçºè ãŸã§äœ¿ããæšæºããŒã«ãšããŠæäŸããããšã§ãæ©æ¢°åŠç¿ãæ©æ¢°ç¥èœãã®ãã®ã®ç ç©¶ãšæ®åãå éãããèãã§ãã
ç°å¢æ§ç¯æé ïŒæèŠæéïŒ10åïŒ
OS X El Capitan (10.11.1) ãžã®ã€ã³ã¹ããŒã«æé ã§ãã
1. pip ãã€ã³ã¹ããŒã«
$ sudo easy_install pip
2. Virtualenv ãã€ã³ã¹ããŒã«
$ sudo pip install --upgrade virtualenv
3. Virtualenv ç°å¢ãäœæ
$ virtualenv --system-site-packages ~/tensorflow
ïŒäžèšã³ãã³ãã ãš ~/tensorflow ã«ã€ããããïŒ
4. ã€ãã£ãç°å¢ãã¢ã¯ãã£ããŒã
$ source ~/tensorflow/bin/activate
â ã³ãã³ãããã³ãããå€ãã
5. TensorFlow ãã€ã³ã¹ããŒã«
$ pip install --upgrade tensorflow
$ pip3 install --upgrade tensorflow
Successfully installed appdirs-1.4.0 numpy-1.12.0 packaging-16.8 protobuf-3.2.0 setuptools-34.2.0 tensorflow-1.0.0 wheel-0.29.0
以äžã§ãã
åäœç¢ºèªïŒHello World ãå®è¡ããŠã¿ã
ã¹ã¯ãªãããäœæããé©åœãªãã¡ã€ã«åã§ä¿åããŸãã
import tensorflow as tf
import multiprocessing as mp
core_num = mp.cpu_count()
config = tf.ConfigProto(
inter_op_parallelism_threads=core_num,
intra_op_parallelism_threads=core_num )
sess = tf.Session(config=config)
hello = tf.constant('hello, tensorflow!')
print sess.run(hello)
TensorFlow ç°å¢ã§å®è¡ããŸãã
(tensorflow)$ python {ãã¡ã€ã«å}.py
å®è¡çµæïŒ
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 4
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 4
hello, tensorflow!
åèããŒãžïŒ
ææžãæ°åãåŠç¿ããŠã¿ã
TensorFlow ãªãã£ã·ã£ã«ããŒãžã«ããMNIST For ML BeginnersããšããææžãæåããŒã¿ã»ãããå©çšãããã¥ãŒããªã¢ã«ããããŸãã
ïŒMNISTããŒã¿ã»ããïŒ
ããã§ã¯äžçªæã£åãæ©ãããªãå ¬åŒãã¥ãŒããªã¢ã«ã®ã³ãŒãïŒGitHubã«ããïŒãå®è¡ããæ¹æ³ã詊ãããšã«ããŸãã
ãœãŒã¹ã³ãŒãã clone ããŠããŠã
$ git clone --recurse-submodules https://github.com/tensorflow/tensorflow
fully_connected_feed.py ã®30,31è¡ç®ã次ã®ããã«ä¿®æ£ããŸãã1
- ä¿®æ£å
from tensorflow.examples.tutorials.mnist import input_data
from tensorflow.examples.tutorials.mnist import mnist
- ä¿®æ£åŸ
import input_data
import mnist
fully_connected_feed.py ãå®è¡ããŸãã
$ cd tensorflow/
$ python tensorflow/examples/tutorials/mnist/fully_connected_feed.py
MNISTããŒã¿ã»ãããæåã§ããŠã³ããŒããããããå¿ èŠã¯ãªãããã®ã¹ã¯ãªãããããŒã¿ã»ããã®ååŸããã¢ãã«ã®åŠç¿ãŸã§ãã£ãŠãããŸãã
å®è¡çµæïŒ
Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Extracting data/train-images-idx3-ubyte.gz
//äžç¥
Step 0: loss = 2.32 (0.025 sec)
Step 100: loss = 2.19 (0.003 sec)
Step 200: loss = 1.97 (0.003 sec)
//äžç¥
Step 1900: loss = 0.46 (0.004 sec)
Training Data Eval:
Num examples: 55000 Num correct: 49489 Precision @ 1: 0.8998
Validation Data Eval:
Num examples: 5000 Num correct: 4534 Precision @ 1: 0.9068
Test Data Eval:
Num examples: 10000 Num correct: 9019 Precision @ 1: 0.9019
ããŒã¿ã»ããã®ããŠã³ããŒãããã¬ãŒãã³ã°ããã¹ãããŒã¿ã§ã®è©äŸ¡ãè¡ãããŠããŸããæçµçãªç²ŸåºŠã¯çŽ90%ã
åèããŒãžïŒ
- http://nextdeveloper.hatenablog.com/entry/2015/11/10/204609
- http://qiita.com/sergeant-wizard/items/fdf4d64a0d221a81da34
åŠç¿çµæãå¯èŠåãã TensorBoard ã詊ã
ãªããšãåŠç¿çµæãã°ã©ãã«ããŠãããããã¢ãã«ãããžã¥ã¢ã©ã€ãºããŠè¡šç€ºããŠããã TensorBoard ãšãããã®ãçšæããŠãããŠããããã§ãã
åŠç¿çµéã®ãã°ããŒã¿ã®ãããã£ã¬ã¯ããªã絶察ãã¹ã§æå® 2 ã㊠tensorboard ã³ãã³ããå®è¡ãããšã
$ tensorboard --logdir=/Users/xxxx/xxxx/tensorflow/tensorflow/data
TensorBoard ãèµ·åããŸãã
Starting TensorBoard on port 6006
(You can navigate to http://localhost:6006)
ã§ããã®URLã«ãã©ãŠã¶ããã¢ã¯ã»ã¹ãããšGUIã衚瀺ããã
åŠç¿åæ°ãšxentropy_meanïŒäº€å·®ãšã³ããããŒïŒã®é¢ä¿ã瀺ãã°ã©ããã
ã¢ãã«ïŒãã¥ãŒã©ã«ãããã¯ãŒã¯ïŒãå¯èŠåãããã®ãèŠãããšãã§ããŸãã
More
- http://qiita.com/shuhei_f/items/9251084b00ed9319033e
-
http://qiita.com/uramonk/items/c207c948ccb6cd0a1346
- ãã¥ãŒããªã¢ã«ã®ã³ãŒããã³ã¡ã³ãã§è§£èª¬ããŠãããŠããŸã
-
http://qiita.com/haminiku/items/36982ae65a770565458d
- äžçŽãã¥ãŒããªã¢ã«ã®è§£èª¬ããã
-
http://d.hatena.ne.jp/sugyan/20151124/1448292129
- åŠç¿çµæã䜿ã£ãŠèªåã§æžããæ°åãèå¥ããŠããããšãããŸã§è©ŠãããŠããŸã
- ã³ãŒããå ¬é
Chainer
Preferred Networks瀟ãéçºãããã¥ãŒã©ã«ãããã¯ãŒã¯ãå®è£ ããããã®ã©ã€ãã©ãªã2015幎6æå ¬éãç¹åŸŽãšããŠã¯ã
- Python ã®ã©ã€ãã©ãªãšããŠæäŸ
- ãããããã¥ãŒã©ã«ãããã®æ§é ã«æè»ã«å¯Ÿå¿
- åçãªèšç®ã°ã©ãæ§ç¯ã«ããçŽæçãªã³ãŒã
- GPU ããµããŒãããè€æ° GPU ãã€ãã£ãåŠç¿ãçŽæçã«èšè¿°å¯èœ
ãæããããŠããŸãã
TensorFlow ãšã®æ¯èŒ
äžèšç¹åŸŽãèŠããš TensorFlow ãšããžã·ã§ãã³ã°çã«ã¯äŒŒãŠããããã«èŠããã®ã§ãã©ããªéããããã®ãã°ã°ããŠã¿ãŸããã
ãã¶ãã§ããããšãã®ãã®ã«å€§ããªéãã¯ãªããã ãããã©ãChainerã®å Žåãã«ãGPUã«ãããšãã«ã¯èªåã§GPUã®ç®¡çãããªãããªããªãã®ããTenrorFlowã ãšããã¡ãã£ãšã©ã¯ãªã®ããªããšæã£ããããã
TensorFlowãGPU䜿ãã®ã«ãªãã«ããå¿ èŠã§ããã®ããã«bazelãå¿ èŠã§ããã®ããã«Java8ãå¿ èŠã§ããããGPUã«CC3.5以äžã®å¶çŽãããã¿ããã§ã䜿ãããªã䜿ãã°ïŒæãåããåãPythonãªãChainerã®æ¹ãæ·å± ãäœãæããã
TensorFlowã¯DistBeliefã®2åã®éããããªã®ã§ãããChainerã¯ãããäžåã£ãŠããŸããã
èšè¿°éçã«ã¯ãããŸã§å€ãããªãã§ããå人çã«ã¯Chainerã®æ¹ãæ±ãæããšããã®ãææ³ã§ã(æ £ãã®åé¡ã ãšã¯æããŸããã)ã
TensorFlow,Chainerãšã粟床ã¯åãã§ãããããããMNISTã¯åé¡ãç°¡åãªã®ã§Deep Learningã§ãªããŠãé«ã粟床ãåºãããã§ããå®è¡æéã¯Chainerã®æ¹ãéãã£ãã®ã§ãã
ã€ã³ã¹ããŒã«æé ïŒæèŠæéïŒ5ç§ïŒ
å ¬åŒããã¥ã¡ã³ãã« Install Guide ãšããããŒãžãããã®ã§ãããUbuntu, CentOS åãã«æžãããŠãããããªã®ã§ãMacåãã®ã¯ãªãããªãšæ¢ããŠãããæ¬å®¶Webãµã€ãã« QUICK START ãšããé ç®ããããŸããã
ããããšã¯
$ pip install chainer
ããã ãã
Successfully installed chainer-1.5.1 filelock-2.0.5
çŽ æŽãããïŒ
ææžãæ°åãåŠç¿ããŠã¿ã
å ¬åŒãªããžããªã«ãµã³ãã«ãçšæãããŠããŸããcloneããŠããŠã¹ã¯ãªãããå®è¡ããã ãã
$ git clone https://github.com/pfnet/chainer.git
$ python chainer/examples/mnist/train_mnist.py
MNISTããŒã¿ã»ããã®ããŠã³ããŒããšãåŠç¿ããã¹ããè¡ãããŸãã
load MNIST dataset
Downloading train-images-idx3-ubyte.gz...
ïŒäžç¥ïŒ
epoch 1
graph generated
train mean loss=0.190947790003, accuracy=0.942850003242
test mean loss=0.0990746175707, accuracy=0.96930000484
ïŒäžç¥ïŒ
epoch 20
train mean loss=0.0104963570454, accuracy=0.996966669559
test mean loss=0.102703116325, accuracy=0.982000006437
æçµçãªèå¥ç²ŸåºŠã¯98%ã«ãªã£ãããã§ãã
More
- http://cvl-robot.hateblo.jp/entry/2015/06/11/223928
- http://hi-king.hatenablog.com/entry/2015/06/11/021144
- http://hi-king.hatenablog.com/entry/2015/06/27/194630
- http://qiita.com/icoxfog417/items/96ecaff323434c8d677b
- http://qiita.com/mokemokechicken/items/cc9b2c96f6e4a43c123c
- http://d.hatena.ne.jp/shi3z/20150628/1435502562
- http://studylog.hateblo.jp/entry/2015/07/14/000635
Caffe
C++ã§å®è£ ããããã£ãŒãã©ãŒãã³ã°ã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãã«ãªãã©ã«ãã¢å€§åŠããŒã¯ã¬ãŒæ ¡ã®ç ç©¶ã»ã³ã¿ãŒBVLCãäžå¿ãšãªã£ãŠéçºãC++ã»Pythonã»MATLABã§å©çšå¯èœã
å ·äœçãªå ¬éæ¥ã¯ããããŸããããChainerãTensorFlowã®ç»å Žä»¥åããååšããåããããã§èŠã€ãããããããããªãã£ãŒãã©ãŒãã³ã°ãå©çšããç ç©¶ã詊ã¿ã¯CaffeãããŒã¹ã«ãããã®ãå€ãèŠãããæ°ãããŸãã
ç°å¢æ§ç¯æé ïŒæèŠæéïŒçŽ4æéïŒ
æèŠæéã¯å人差ïŒç°å¢å·®ïŒããããšæããŸããã確å®ã«TensorFlowãChainerããã¯æéãããã ãšæããŸããäŸåã©ã€ãã©ãªãå€ãããã®äžã«ã¯ã€ã³ã¹ããŒã«ã®åŸ ã¡æéãé·ããã®ããããŸãããåèªã®ç°å¢ã«äŸåããèšå®ãæåã§è¡ãå¿ èŠãããã®ã§ããã®ãããã§ãããããšããããšæããŸãããŸãå人çã«ã¯numpyã®ããŒãžã§ã³ãéããšãããšã©ãŒã«ããªãæ©ãŸãããŸããã
GPUã絡ããšããããããªã®ã§CPUã¢ãŒãã§ãã€ã³ã¹ããŒã«ããŠãããŸããPyCaffeãå ¥ããŸãã
1. 諞ã ã€ã³ã¹ããŒã«
$ brew install --fresh -vd snappy leveldb gflags glog szip lmdb
$ brew tap homebrew/science
$ brew install hdf5 opencv
$ brew install --build-from-source --with-python --fresh -vd protobuf
$ brew install --build-from-source --fresh -vd boost boost-python
$ brew install openblas
â»1 opencv ã®ã€ã³ã¹ããŒã«ã¯ããªãæéãããããŸãã
â»2 OpenBLAS ã¯å
¥ããªããŠãããããã§ããïŒMacã§ã¯æšæºã§BLASãå
¥ã£ãŠãããšã®ããšïŒããã®åŸã®æé ã§ Makefile ã® BLAS_INCLUDE ã®ãã¹ãä¿®æ£ãããããŠãã make ãå®è¡ããŠã fatal error: 'cblas.h' file not found ãåºãŠããŸãã®ã§ãå
¥ããããšã«ããŸããã
2. caffe ãclone
$ git clone https://github.com/BVLC/caffe.git
3. Makefile.config äœæ
é圢ããã³ããŒããŠããŠãç·šéããŸãã
$ cd caffe
$ cp Makefile.config.example Makefile.config
-
# CPU_ONLY := 1ã®ã³ã¡ã³ãã¢ãŠããå€ã -
BLAS := atlasãBLAS := openã«å€æŽãã - 以äžã®ã³ã¡ã³ãã¢ãŠããå€ã
# BLAS_INCLUDE := $(shell brew --prefix openblas)/include
# BLAS_LIB := $(shell brew --prefix openblas)/lib
-
PYTHON_INCLUDEã®ãã¹ãèªåã®ç°å¢ã«åãããŠæžãæãã 3- ä¿®æ£å
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
- ä¿®æ£åŸ
PYTHON_INCLUDE := /usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/include/python2.7 \
/usr/local/lib/python2.7/site-packages/numpy/core/include/
4. ãã«ãïŒãã¹ã
$ make clean
$ make all -j4
$ make test -j4
$ make runtest
ããã§ãšã©ãŒãã§ãªããã°ã€ã³ã¹ããŒã«æåã§ãã
[ PASSED ] 927 tests.
5. PyCaffe ã«å¿ èŠãªã©ã€ãã©ãªãã€ã³ã¹ããŒã«
caffe/python ãã©ã«ãã«ç§»åããPyCaffe ã«å¿ èŠãªã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããŸãã
$ cd python/
$ for li in $(cat requirements.txt); do sudo pip install $li; done
6. PyCaffe ã®ãã«ã
$ cd ../
$ make pycaffe
$ make distribute
7. ç°å¢å€æ°ãèšå®
Caffeçšã®ç°å¢å€æ°ãèšå®ããŸãã~/.bashrc ã«äžèšã远èšãã
export PYTHONPATH={caffe/pythonã®ãã¹}:$PYTHONPATH
source ~/.bashrc ã§åæ ããŸãã
8. åäœç¢ºèª
Pythonã®ã€ã³ã¿ããªã¿ããCaffeãimportããŠã¿ãŠãåé¡ãèµ·ããªããã°OKã
$ python
>>> import caffe
ã¡ãªã¿ã«æ¬èšäºã§ã¯æçµçã«ããŸããã£ãæé ã®ã¿ãæžããŠããŸããã倧ãã«ããã£ããã©ãã«ã·ã¥ãŒãã£ã³ã°ã®éçš ãå¥èšäºãšããŠæžããŠãããŸããã
åèããŒãžïŒ
- http://caffe.berkeleyvision.org/install_osx.html ïŒå ¬åŒããŒãžïŒ
- http://qiita.com/t-hiroyoshi/items/3bba01dd11b1241f1336
- http://qiita.com/knao124/items/c76e974cfbaabb5542e8
- http://ichyo.jp/posts/caffe-install/
DeepDream
ããããã²ãšã€ã¬ã€ã€ãŒã¯äžãã£ãŠããã£ãŒãã©ãŒãã³ã°ã©ã€ãã©ãªïŒãã¬ãŒã ã¯ãŒã¯ãå©çšããå¿çšã¢ããªã±ãŒã·ã§ã³çãªãã®ãããã€ã詊ããŠã¿ãŸãã
DeepDream 㯠2015幎7æã«Googleãå ¬é ããOSSã§ã
ç»åããå°ãã§ãèŠèŠãã®ããç©äœãèŠã€ãåºãããããåæ§æããŠåºåãã
人工ç¥çµå路網ã¯10ïœ30ã®ã¬ã€ã€ãŒããæ§æãããŠããã1æç®ã®ã¬ã€ã€ãŒã¯ç»åã®æ å ±ãã€ã³ãããããŠãè§ããã端ããæ¢ãã2æç®ã»3æç®ãšç¶ãã¬ã€ã€ãŒã¯åºæ¬çãªç©äœã®æ å ±ãææ¡ãæçµçãªã¬ã€ã€ãŒãæ å ±ãçµã¿ç«ãŠãŠç©äœããäœããã倿ããããšããä»çµã¿ã§ãã
ãšãããã®ã
ç°å¢æ§ç¯ã®æé ïŒæèŠæéïŒ10åïŒ
èŠCaffeïŒã€ã³ã¹ããŒã«æé ã¯äžè¿°ïŒãCaffeããå ¥ã£ãŠããã°ãã£ãã詊ããŸãã
1. iPython notebook ãã€ã³ã¹ããŒã« 4
$ pip install ipython
$ pip install ipython[notebook]
2. DeepDream ã clone
Caffe ã®ãããã©ã«ããšåé局㫠DeepDream ã®ãœãŒã¹ã clone ããŸãã
$ git clone git@github.com:google/deepdream.git
3. ã¢ãã«ãããŠã³ããŒã
ãã ããåŠç¿æžã¿ã®caffeã¢ãã«ãããŠã³ããŒããã{caffeã®ãã¹}/models/bvlc_googlenet/ ã«ä¿åããŸãã
詊ã
cloneããŠããdeepdreamãã©ã«ãã«ç§»åããiPython notebookãèµ·åããŸãã
$ cd deepdream
$ ipython trust dream.ipynb
$ ipython notebook
ãã©ãŠã¶ãç«ã¡äžããã®ã§ãdream.ipynb ãéžæããŠãäžéšã«ããåçãã¿ã³ãããããæŒããŠãããæåŸãŸã§å°éããããã°ããåŸ ã£ãŠãããšã»ã»ã» deepdream/frames/ ãã©ã«ãã«çµæç»åã 0000.jpg, 0001.jpg, ...ãšåºåãããŠãããŸãã
ïŒå·ŠïŒ0000.jpg ãšãå³ 0010.jpgïŒ
æã£åãæ©ã奜ããªç»åã§è©Šãããå Žåã¯ãsky1024px.jpg ã«ãªããŒã ããŠåãå Žæã«çœ®ããŠããã°OKã§ãããŸã㯠dream.ipynb ã®ç»ååãæå®ããŠããç®æãç·šéããŸãã
ãããããªé£äºé¢šæ¯ãã
ãããªããŸããã
åèèšäºïŒ
- http://qiita.com/t-hiroyoshi/items/e556c4ca0e8631556584
- http://qiita.com/icoxfog417/items/175f69d06f4e590face9
ç»é¢šå€æã¢ã«ãŽãªãºã chainer-gogh
mattyaæ°ã2015幎9æã«å ¬éãããDeep Neural Networkã䜿ã£ãŠç»åã奜ããªç»é¢šã«å€æã§ããããã°ã©ã ã
Chainerãå©çšãã¢ã«ãŽãªãºã ã®å è«æã¯ A Neural Algorithm of Artistic Style ã
ç°å¢æ§ç¯ã®æé ïŒæèŠæéïŒ1åïŒ
1. ãœãŒã¹ã clone
$ git clone https://github.com/mattya/chainer-gogh.git
2. ã¢ãã«ãããŠã³ããŒã
ã¢ãã«ãäžèšURLããããŠã³ããŒãããcloneããŠãã chainer-gogh ãã©ã«ãé äžã«çœ®ããŸãã
å®è¡ãã
ãæè»œã«CPUå®è¡ããŠã¿ãŸããã³ã³ãã³ãç»åïŒinput.pngïŒãšã¹ã¿ã€ã«ç»åïŒstyle.pngïŒãçšæã㊠chainer-gogh ãã©ã«ãé äžã«çœ®ããã¹ã¯ãªãããå®è¡ããã ãã
python chainer-gogh.py -m nin -i input.png -s style.png -o output_dir -g -1
ïŒå·ŠïŒinput.pngãå³ïŒstyle.pngïŒ
ïŒçµæç»åïŒ
ä»åŸã®å±æ
ä»åã¯ç°å¢æ§ç¯ãšæ¢ã«çšæãããŠãããµã³ãã«ãå®è¡ããŠã¿ãã ããªã®ã§ã次ã®ã¹ããããšããŠã¯ãäžèšèšäºã®äŸã®ããã«ãOpenCVãæŽ»çšããŠèªåããŒã¿ã»ããã€ãã£ãŠãChainer ãªã TensorFlow ãªãã§ç»åèå¥ããã£ãŠã¿ãããšæã£ãŠããŸãã
- http://bohemia.hatenablog.com/entry/2015/11/22/161858
- http://bohemia.hatenablog.com/entry/2015/11/22/174603
ãã ããŒã¿ã»ããåéã¯ãããªãã«æéããããããªã®ã§ãäžèšèšäºã®ããã«æ¢åã®ããŒã¿ã»ããã Chainer ããã³ TensorFlow ã«é£ããããšããããå§ããã®ãçŸå®çããã
ãŸããiOSãšã³ãžãã¢ãšããŠã¯ãã¢ãã€ã«ããã€ã¹ã§ã®å©çšã«ã€ããŠã暡玢ããããšæã£ãŠããŸãã
ãããããåŠç¿æžã¿ã¢ãã«ãçšæããŠèå¥å°çšãšããŠå©çšããã ããªãå¯èœãªã®ããåŠç¿æ©èœèªäœãã¢ãã€ã«åŽã§ãã£ãŠã¿ããã©ãã ãéãã®ãïŒããããã§ããã®ãïŒãšããTensorFlow ã¯ãã¢ãã€ã«ç«¯æ«ã«ããããã€å¯èœããšè¬³ã£ãŠãŸããã
ããšãç»å以å€ã«ããèªç¶èšèªåŠçãžã®å©çšçã詊ããŠã¿ããã§ãã
ãããã
é¢é£èšäº
-
ããããããªããšãå®è¡æã« "ImportError: No module named examples.tutorials.mnist" ãšãããšã©ãŒãåºãŸãã â©
-
ãã¹ãééã£ãŠãŠã TensorBoard ã¯èµ·åããã®ã§ãããã¢ã¯ã»ã¹ããŠãã°ã©ãçã¯è¡šç€ºãããŸããã â©
-
/usr/includeãæè¿ã®OSXã§ãªããªã£ãŠãããšã«é¢ããŠã¯ã$ xcode-select --installãããã°ããã¿ãããªã®ã§ãããå€ãã³ãã³ãã©ã€ã³ããŒã«ãããŠã³ããŒãããªããšãããªãã£ãœããããŸãXcodeãŸããã®ç°å¢ãããããããªãã®ã§çŽæ¥pythonã®includeãã¹ãæå®ããããã«ããŸãã â© -
ãªãã ipython: command not found ã«ãªã£ãã®ã§ ãã¡ã ãåèã«ã€ã³ã¹ããŒã«ããªãããŸãã â©

