高可用&スケーラブルで プライベートな waifu2xをあなたに

高可用&スケーラブルで プライベートな waifu2xをあなたに

JAWS-UG Meguro #0 LT

Ecd0c945f6911dbf75358a8addee15f7?s=128

takipone

May 22, 2015
Tweet

Transcript

  1. ⾼高可⽤用&スケーラブルで プライベートな waifu2xをあなたに JAWS-‐‑‒UG  Meguro  #0  LT classmethod.jp 1 2015/05/22

    クラスメソッド株式会社 ⼤大瀧隆太
  2. classmethod.jp 2 ⾃自⼰己紹介 classmethod.jp 2 •  ⽒氏名  :  ⼤大瀧隆太  

                     @takipone •  会社  :  クラスメソッド •  ポジション  :   AWSコンサル部 プリセールス  /  エンジニア
  3. waifu2x classmethod.jp 3 •  ⼆二次元画像を拡⼤大したいと思ったことはありませんか?  -‐‑‒  デー http://ultraist.hatenablog.com/entry/2015/05/17/183436

  4. waifu2x •  “waifu2xは、⼆二次元画像を2倍に拡⼤大するソ フトウェアです。多くの⼆二次元画像について スゴイ級のクオリティで拡⼤大できます。” •  “waifu2xは、最新鋭の⼈人⼯工知能技術  Deep   Convolutional

     Neural  Networks  を使って開 発されました。”   •  (P.3のブログ記事より引⽤用) classmethod.jp 4
  5. waifu2xのWebサービス classmethod.jp 5

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

  7. waifu2xの⾃自前構成 classmethod.jp 7 Auto scaling Group us-west-1 Region waifu2x AMI

    ݩΠϝʔδ ֦େΠϝʔδ SQS ユーザー データ (Spot)
  8. waifu2xのCLI classmethod.jp 8

  9. classmethod.jp 9 設定したユーザーデータ #!/bin/bash pip  install  awscli cat  <<EOF  >

     /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
  10. 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での拡⼤大とアップロード
  11. デモ classmethod.jp 11

  12. まとめ •  waifu2xはオープンソースかつAMIが公開さ れているので、⾃自前のAWSアカウントで再現 できる •  S3,  SQS,  AutoScaling,  Spot

     Instanceの組 み合わせで⾼高機能なwaifu2xクラスタがいき なり構築できる •  なつかしの画像やあ〜~んな画(⾃自粛)も⾮非公開 のままきれいに拡⼤大できるかも classmethod.jp 12
  13. None