Slide 1

Slide 1 text

⾼高可⽤用&スケーラブルで プライベートな waifu2xをあなたに JAWS-‐‑‒UG  Meguro  #0  LT classmethod.jp 1 2015/05/22 クラスメソッド株式会社 ⼤大瀧隆太

Slide 2

Slide 2 text

classmethod.jp 2 ⾃自⼰己紹介 classmethod.jp 2 •  ⽒氏名  :  ⼤大瀧隆太                    @takipone •  会社  :  クラスメソッド •  ポジション  :   AWSコンサル部 プリセールス  /  エンジニア

Slide 3

Slide 3 text

waifu2x classmethod.jp 3 •  ⼆二次元画像を拡⼤大したいと思ったことはありませんか?  -‐‑‒  デー http://ultraist.hatenablog.com/entry/2015/05/17/183436

Slide 4

Slide 4 text

waifu2x •  “waifu2xは、⼆二次元画像を2倍に拡⼤大するソ フトウェアです。多くの⼆二次元画像について スゴイ級のクオリティで拡⼤大できます。” •  “waifu2xは、最新鋭の⼈人⼯工知能技術  Deep   Convolutional  Neural  Networks  を使って開 発されました。”   •  (P.3のブログ記事より引⽤用) classmethod.jp 4

Slide 5

Slide 5 text

waifu2xのWebサービス classmethod.jp 5

Slide 6

Slide 6 text

waifu2xを⾃自前で実⾏行行する classmethod.jp 6

Slide 7

Slide 7 text

waifu2xの⾃自前構成 classmethod.jp 7 Auto scaling Group us-west-1 Region waifu2x AMI ݩΠϝʔδ ֦େΠϝʔδ SQS ユーザー データ (Spot)

Slide 8

Slide 8 text

waifu2xのCLI classmethod.jp 8

Slide 9

Slide 9 text

classmethod.jp 9 設定したユーザーデータ #!/bin/bash pip  install  awscli cat  <  /sqs-‐‑‒waifu2x.bash #!/bin/bash INTERVAL=30 REGION=us-‐‑‒west-‐‑‒1 QUEUE_̲URL=https://sqs.us-‐‑‒west-‐‑‒1.amazonaws.com/602604506680/waifu2x_̲input BUCKET_̲NAME=waifu2x-‐‑‒sample export  HOME=/root cd  /home/ubuntu/waifu2x/ if  [  !  -‐‑‒d  out/  ];  then    mkdir  out/ fi while  : do    aws  sqs  receive-‐‑‒message  -‐‑‒-‐‑‒queue-‐‑‒url  \$QUEUE_̲URL  -‐‑‒-‐‑‒region  \$REGION  -‐‑‒-‐‑‒output  text  >  result.txt    if  [  -‐‑‒s  result.txt  ];  then        SOURCE_̲URL=\`̀cut  -‐‑‒f  2  <  result.txt\`̀          RECEIPT_̲HANDLE=\`̀cut  -‐‑‒f  5  <  result.txt\`̀        wget  \$SOURCE_̲URL        IMG_̲FILENAME=\`̀basename  \$SOURCE_̲URL\`̀        th  waifu2x.lua  -‐‑‒i  \$IMG_̲FILENAME  -‐‑‒o  out/\${IMG_̲FILENAME}        aws  s3  cp  -‐‑‒-‐‑‒region  \$REGION  out/\${IMG_̲FILENAME}  s3://\${BUCKET_̲NAME}/\${IMG_̲FILENAME}        aws  sqs  delete-‐‑‒message    -‐‑‒-‐‑‒receipt-‐‑‒handle  \$RECEIPT_̲HANDLE  -‐‑‒-‐‑‒queue-‐‑‒url  \$QUEUE_̲URL  -‐‑‒-‐‑‒region  \$REGION    else        sleep  \$INTERVAL    fi   done EOF nohup  bash  /sqs-‐‑‒waifu2x.bash

Slide 10

Slide 10 text

classmethod.jp 10 設定したユーザーデータ while  : do    aws  sqs  receive-‐‑‒message  ...  -‐‑‒-‐‑‒output  text  >  result.txt    if  [  -‐‑‒s  result.txt  ];  then        SOURCE_̲URL=\`̀cut  -‐‑‒f  2  <  result.txt\`̀          RECEIPT_̲HANDLE=\`̀cut  -‐‑‒f  5  <  result.txt\`̀        wget  \$SOURCE_̲URL        IMG_̲FILENAME=\`̀basename  \$SOURCE_̲URL\`̀        th  waifu2x.lua  -‐‑‒i  \$IMG_̲FILENAME  -‐‑‒o  out/\${IMG_̲FILENAME}        aws  s3  cp  -‐‑‒-‐‑‒region  \$REGION  out/\${IMG_̲FILENAME}  s3://\${BUCK...        aws  sqs  delete-‐‑‒message    -‐‑‒-‐‑‒receipt-‐‑‒handle  \$RECEIPT_̲HANDLE  -‐‑‒-‐‑‒queue...        sleep  \$INTERVAL    fi   done SQSへのポーリング 元イメージのダウンロード waifu2xでの拡⼤大とアップロード

Slide 11

Slide 11 text

デモ classmethod.jp 11

Slide 12

Slide 12 text

まとめ •  waifu2xはオープンソースかつAMIが公開さ れているので、⾃自前のAWSアカウントで再現 できる •  S3,  SQS,  AutoScaling,  Spot  Instanceの組 み合わせで⾼高機能なwaifu2xクラスタがいき なり構築できる •  なつかしの画像やあ〜~んな画(⾃自粛)も⾮非公開 のままきれいに拡⼤大できるかも classmethod.jp 12

Slide 13

Slide 13 text

No content