Chainer-gogh로 Deep Learning(심층 학습)에 접해 보았다

최근 잘 듣는 「딥 러닝」이 어떤 것인지, 실제로 Chainer를 이용한 Chainer-gogh를 움직여 체감해 본 이야기.
【전제】
· 사용 OS : CentOS 7
· Python을 사용할 수 있어야합니다.

Chainer



Chainer은 보기 어려울 수 있는 심층 학습(심층 학습)을 위해 개발된 오픈 소스 프레임워크로, 파이썬(버전 2.7 이상)에서 실행됩니다.
GPU도 지원하고 CUDA 등을 이용한 계산도 가능. 그들 이른바 "신경망을 오차 역전파법으로 학습한다"는 것.
"들었던 것만은 있다"단어가 얼른 있어, ​​두근두근합니다.

Chainer-gogh



GitHub에 게재된 샘플에 따르면 다음과 같은 결과를 얻을 수 있다고 합니다.
htps : // 기주 b. 코 m / 엄청 / 짱 r-go


고양이 이미지에 패턴을 적용합니다.
정말 그렇다. 그리고 뭔가 멋지다.

절차



어쨌든, 먼저 한번 움직여 봅시다.
이번에는 Python이 작동하도록 설정된 CentOS7에서 실행해 보았습니다.
사용하는 이미지는 점심 시간에 회사 근처에서 촬영 한 이미지와 고흐의 "밤 카페 테라스"입니다.
굳이 낮의 사진에 밤을 모티브로 한 회화를 부딪쳐 보았습니다만, 어떻게 될까.

원본 이미지


"밤의 카페 테라스"

위의 두 장의 이미지를 사용하여 생성.
조속히 환경을 정돈해 갑니다.
// Chainerをインストール
$ pip install chainer
// GitHubから任意のディレクトリへファイルをclone
$ git clone https://github.com/mattya/chainer-gogh.git

clone한 chainer-gogh 디렉토리내에, 이하 URL로부터 DL한 model 파일을 배치합니다.
htps //w w. d 필터 p 보 x. 이 m/s/0해 dぁfrb2 うwxw/마늘_눈꺼풀 t. 카후모도 l? dl=1
// 画像の処理に必要なPIL(Python Imaging Library)などをインストール
$ easy_install --find-links http://www.pythonware.com/products/pil/ Imaging
$ pip install image

스타일을 추출하려는 파일과 적용하려는 파일을 chainer-gogh 디렉토리에 배치합니다.
이번에는 각각 style.png, im1.png로 배치했습니다.
// 実行(CPUモード)
// python chainer-gogh.py -m nin -i input.png -s style.png -o output_dir -g -1
$ python chainer-gogh.py -m nin -i im1.png -s style.png -o output -g -1

물론 상기 그대로도 괜찮습니다만, 파라미터를 지정해 주는 것으로 자신 취향에 조정할 수가 있습니다.
// 例)元画像の重みを上げ、横幅460、イテレーション8000まで実行して作成する場合。
$ python chainer-gogh.py -m nin -i im1.png -s style.png -o output -g -1 --lam 0.8 --width 460 --iter 8000

각 기본값은 소스 코드에 작성됩니다.
특히 iter와 lam의 값은 출력에 큰 영향을 미치므로 각각 적절한 값을 찾아보십시오.

생성 결과



특히 아무것도 생각하지 않고, 감각으로 실행한 곳 이렇게 되었습니다.

글쎄, 처음에는 개미가 아닐까요?
GPU를 이용하여 다른 모델 파일을 사용하면 더욱 고품질의 결과를 얻을 수 있는 것 같습니다만, 불행히도 이 기사를 쓰고 있는 환경에서는 GPU를 사용할 수 없기 때문에, 다시 시도한 후에 추기되어 하고 싶습니다.

고속 변환 정보



이번은 표준의 모델 파일을 배치했습니다만, 학습이 끝난 모델 파일로 옮겨놓는 것으로 처리 시간을 극적으로 단축할 수 있는 것 같습니다.
하지만 지금은 거기까지 시도할 수 없기 때문에 URL의 소개에만 둡니다.
htps : // 기주 b. 코 m / 유스케 토모토 / 챠네 r 푸 st - 네 우라 lsty ぇ

1부터 기계 학습이나 심층 학습 등의 것을 실장하는 것은 난이도가 높다고 생각합니다만, 기존의 물건을 움직여 체험하는 것만이라면, 여기까지 간단하네요.
전회, 「흑백 이미지에 착색해 주는 Siggraph2016 Colorization가 대단하다」 로서 기사로 한 것도 그렇지만, 난이도 높인 과제에 대해 첫걸음을 내디디기 위한 장애물은, 낮으면 낮을수록 흥미를 가지기 쉽지요.
또 재미있는 것을 발견하면, 여러가지 만지면서 서서히에서도 파고 가고 싶습니다!

좋은 웹페이지 즐겨찾기