Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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