Chainer Getting Started
소개
기계 학습 및 딥 러닝의 대표적인 라이브러리/프레임워크의 하나인 Chainer
에 관해서, 처음으로 움직이는 사람을 위한 메모입니다.tensorflow
라든지 특히 Caffe
에 비해 환경 구축이 매우 간단하다는 인상입니다.
TensorFlow 환경 구축 + fully_connected_feed.py 실행을 3 분 안에 시도 라고 하는 기사로, TensorFlow에 관해서, 환경의 구축과, 샘플의 실행까지 썼습니다만, 이 기사에서는 Chainer
에 대해 좀 더 자세하게 조사해 여러가지 정리하고 싶습니다. (앞으로도 수시로 편집하겠습니다)
이 기사에서는 Ubuntu
의 경우와 OSX
의 경우를 소개합니다.
OS X 환경 구축 + 샘플 실행
환경
환경
$ python -V
Python 2.7.10
절차
[1]. 환경 구축
pip
라든지가 들어 있지 않은 경우는 sudo easy_install pip
로 넣어 주어, 이하와 같이 chainer 환경을 정돈합니다.$ sudo easy_install pip
$ sudo pip install --upgrade virtualenv
여기서 다른 Python 환경에서 문제를 일으키지 않도록 가상 환경으로
chainer
라는 디렉토리를 준비합니다.$ mkdir ~/chainer
$ virtualenv --system-site-packages ~/chainer
드디어 가상 환경에
chainer
를 설치합니다.$ source ~/chainer/bin/activate
(chainer) $ pip install chainer
무려 이것만!
또한 보충으로,
$ deactivate
에서 빠질 수 있습니다.[2]. 자습서 코드 준비
(chainer)$ cd workdir
(chainer)workdir$ git clone https://github.com/pfnet/chainer.git
[3]. 자습서 코드 실행
(chainer)workdir$ python chainer/examples/mnist/train_mnist.py
GPU: -1
# unit: 1000
# Minibatch-size: 100
# epoch: 20
Downloading from http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz...
Downloading from http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz...
Downloading from http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz...
Downloading from http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz...
epoch main/loss validation/main/loss main/accuracy validation/main/accuracy elapsed_time
1 0.190416 0.104004 0.94345 0.9684 17.5941
2 0.076082 0.0811159 0.976417 0.9736 36.9471
3 0.0471095 0.0981369 0.984867 0.9702 56.9719
4 0.0350777 0.0761874 0.9886 0.9781 77.4668
5 0.0282012 0.0867539 0.991067 0.9774 98.3472
6 0.0248647 0.0695007 0.9919 0.9801 119.961
7 0.0210343 0.0767947 0.99305 0.9808 141.635
8 0.0176813 0.0905643 0.994 0.9777 163.806
9 0.0178874 0.0723692 0.99425 0.9826 186.365
10 0.0136274 0.0707852 0.995917 0.9832 209.43
11 0.0131937 0.113052 0.9958 0.9755 233.096
12 0.0128028 0.0889003 0.996083 0.9803 257.344
13 0.0112644 0.110072 0.9965 0.9792 282.586
14 0.0139703 0.0881926 0.995267 0.9828 308.389
15 0.0122166 0.104037 0.996317 0.9808 335.018
16 0.00773986 0.107721 0.997583 0.9815 362.33
17 0.00971623 0.094353 0.996933 0.9809 390.071
18 0.0107869 0.0942736 0.996717 0.9832 418.135
19 0.0114094 0.096485 0.99665 0.9822 449.07
20 0.00670194 0.0999182 0.997883 0.9852 481.826
같으면 성공입니다!
Ubuntu 환경 구축 + 샘플 실행
환경
$ lsb_release -a
LSB Version: core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch:core-4.1-amd64:core-4.1-noarch:security-4.0-amd64:security-4.0-noarch:security-4.1-amd64:security-4.1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
$ python -V
Python 2.7.6
절차
OSX 환경과 완전히 동일합니다!
화풍을 변환하는 알고리즘을 사용해보십시오.
이 섹션에서 시도하는 화풍을 변환하는 알고리즘은 Ubuntu
의 경우와 OSX
의 경우 공통입니다.
Chainer의 가상 환경으로 들어갑니다.
$ source ~/chainer/bin/activate
임의의 디렉토리로 이동해, 이번 움직이는 화풍을 변환하는 알고리즘의 소스 코드를 github로부터 clone 해 옵니다.
(chainer)$ cd workdir
(chainer)workdir$ git clone [email protected]:mattya/chainer-gogh.git
그 후,
(chainer)workdir$ cd chainer-gogh
(chainer)workdir/chainer-gogh$
의 상태로 둡시다.
이 알고리즘은 Caffe 모델을 사용하기 때문에 여기에서 다운로드하여 동일한 디렉토리에 배치합니다.
마지막으로 화풍 변환을 수행합니다.
그러면, 다음과 같은 화면은 나오지 않지만, 차례로 화풍 변환 후의 화상이 png 형식으로 output_dir
디렉토리에 출력되어 갑니다. 일련 번호의 큰 이미지만큼 나중에 출력되어 좋은 느낌이 됩니다. 다음은 실행 명령입니다. 그러나 이대로 시도하면 다음과 같이 오류가 발생하므로,
(chainer)workdir/chainer-gogh$ python chainer-gogh.py -m vgg -i sample_images/cat.png -s sample_images/style_0.png -o sample_images -g -1
Traceback (most recent call last):
File "chainer-gogh.py", line 7, in <module>
from PIL import Image
ImportError: No module named PIL
아래와 같이 다른 단락 Pillow
를 인스톨 한다고 하는 조작을 사이에 두고 실행합시다.
(chainer)workdir/chainer-gogh$ pip install Pillow
Collecting Pillow
Downloading Pillow-3.4.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (3.4MB)
100% |████████████████████████████████| 3.5MB 314kB/s
Installing collected packages: Pillow
Successfully installed Pillow-3.4.2
(chainer)workdir/chainer-gogh$ python chainer-gogh.py -m vgg -i sample_images/cat.png -s sample_images/style_0.png -o sample_images -g -1
이 명령은 sample_images/cat.png
라는 이미지를 sample_images/style_0.png
라는 이미지의 화풍으로 변환합니다.
(chainer)workdir/chainer-gogh$ python chainer-gogh.py -m vgg -i sample_images/cat.png -s sample_images/style_0.png -o sample_images -g -1
load model... nin_imagenet.caffemodel
('image resized to: ', (1, 3, 435, 435))
('image resized to: ', (1, 3, 435, 428))
0 0 0.0 132.33581543
0 1 0.0 16.8572692871
0 2 5.28033351898 0.127215072513
0 3 0.52776414156 0.00720807584003
100 0 0.0 0.917560875416
100 1 0.0 0.521785616875
~~//略//~~
4900 2 1.104362607 0.072212561965
4900 3 0.0635322630405 0.000989900669083
같은 것이 나오면 아마 성공입니다.
링크
$ source ~/chainer/bin/activate
(chainer)$ cd workdir
(chainer)workdir$ git clone [email protected]:mattya/chainer-gogh.git
(chainer)workdir$ cd chainer-gogh
(chainer)workdir/chainer-gogh$
(chainer)workdir/chainer-gogh$ python chainer-gogh.py -m vgg -i sample_images/cat.png -s sample_images/style_0.png -o sample_images -g -1
Traceback (most recent call last):
File "chainer-gogh.py", line 7, in <module>
from PIL import Image
ImportError: No module named PIL
(chainer)workdir/chainer-gogh$ pip install Pillow
Collecting Pillow
Downloading Pillow-3.4.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (3.4MB)
100% |████████████████████████████████| 3.5MB 314kB/s
Installing collected packages: Pillow
Successfully installed Pillow-3.4.2
(chainer)workdir/chainer-gogh$ python chainer-gogh.py -m vgg -i sample_images/cat.png -s sample_images/style_0.png -o sample_images -g -1
(chainer)workdir/chainer-gogh$ python chainer-gogh.py -m vgg -i sample_images/cat.png -s sample_images/style_0.png -o sample_images -g -1
load model... nin_imagenet.caffemodel
('image resized to: ', (1, 3, 435, 435))
('image resized to: ', (1, 3, 435, 428))
0 0 0.0 132.33581543
0 1 0.0 16.8572692871
0 2 5.28033351898 0.127215072513
0 3 0.52776414156 0.00720807584003
100 0 0.0 0.917560875416
100 1 0.0 0.521785616875
~~//略//~~
4900 2 1.104362607 0.072212561965
4900 3 0.0635322630405 0.000989900669083
Reference
이 문제에 관하여(Chainer Getting Started), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Hiroki11x/items/201d0918d32a75e42228텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)