nikkie-ftnextの日記

イベントレポートや読書メモを発信

イベントレポート | #pyhack にてAmazon MLの機械学習モデルを組み込んだFlask製アプリをzappaでLambdaにデプロイしました

はじめに

いつも心は虹色に! nikkieです。
2/16開催 (第96回)Python mini Hack-a-thon のイベントレポートをお送りします。

勉強会の概要

(第96回)Python mini Hack-a-thon - connpass

基本的に毎月開催です。スプリントのゆるい版みたいな感じで各自自分でやりたいことを持ってきて、勝手に開発を進めています。参加費は無料です。 初めての方も常連さんもぜひご参加ください。

冬山合宿ぶりのpyhack。
参加者数が定員に収まり、こぢんまりとした雰囲気の2月回でした。
(エンジニア界隈としてはデブサミ明け、かつ、裏番組ららこんだったようです)

取り組んだこと

  1. Amazon Machine Learning(以下、Amazon ML)でタイタニック号乗客の生死を予測するモデルを作り、APIにする
  2. 1で作ったAPIをFlaskのアプリから呼び出して使う(入力フォームと結果表示ページを用意)
  3. 2のFlaskアプリをAWS Lambdaにデプロイする
  4. 入力フォーム以外に顔写真のアップロードでも生死が予測できるように機能追加(Rekognitionで顔写真から年齢・性別推定)

これは来週のJAWS DAYS 2019の懇親会LTの仕込みです。
Amazon Machine Learningで機械学習始めませんか? | JAWS DAYS 2019
エンジニア界隈デファクトAWSをどこかで触ってみたかったので、今回LT駆動開発をしています。

達成したこと

上記の1〜4は一通り達成しました。
今回のアプリは #大晦日ハッカソン の成果物をベースにしており、新規で開発する部分は少なかったためです。
(むしろ、LambdaからAmazon MLを呼び出すなど設定周りで苦心しました)

▼現状のデモアプリ(入力フォーム)
f:id:nikkie-ftnext:20190217001742p:plain
▼現状のデモアプリ(顔写真アップロードフォーム)
f:id:nikkie-ftnext:20190217001755p:plain

    return render_template(
        'predict.html',
        prediction=PREDICTION[predict_index],
        input_data=input_data
    )

他の方の取り組みから

感想

LambdaでLT用のデモアプリを作るという目的は達成できたので大満足です。
CSS設定やアップロードされた画像の表示機能(成果発表でのフィードバック)など、時間が許す限り準備していきます。(まずはスライドを作ろう)
AWSのロールまわりは脳内が整理しきれていませんが、引き続き触って理解を進めていきます。(当日猛者に質問してもいいな)

成果発表やお昼・懇親会の場で興味深い話が聞け、最近アウトプットが多かった身としては、「まだまだこんなに知らないことがあるのか!」と燃料が再チャージされた感覚です。
参加者の皆さま、1日ありがとうございました & お疲れさまでした!