Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
Search
Yamaguchi Takahiro
April 14, 2022
Technology
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
3分クッキング的にMLアプリを作れるよという話です。
Yamaguchi Takahiro
April 14, 2022
More Decks by Yamaguchi Takahiro
See All by Yamaguchi Takahiro
関西Kaggler会_不確実性最適化ゲーム入門
nyk510
1
1.1k
コンペを気楽に開催しよーぜ!@関西Kaggler会
nyk510
0
1.5k
Django のセキュリティリリースを見る
nyk510
0
140
硬派で真面目なグラフを描く
nyk510
0
580
CORSをちゃんと理解する atmaバックエンド勉強会#4
nyk510
0
470
pythonで気軽にパッケージを作るのは良いという話。
nyk510
14
9.9k
RestAPIのページネーション atma バックエンド勉強会 #3
nyk510
1
1.1k
AWS CPU Credit を完全に理解する
nyk510
0
530
atmaCup#8 Opening
nyk510
0
330
Other Decks in Technology
See All in Technology
What the customer really needed
kawaguti
PRO
3
220
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
9
1.1k
SREは、MCPとAutopilotをこう使え!
kazumax55
3
950
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
サーバーレスをどこまで使う? WebRTC対戦ゲームで選んだVPSとの共存設計
kaidouji85
0
350
ほんとうの信頼性はヒーローが死んでからはじまる / True reliability begins after the hero dies
vtryo
0
110
データ_AIの事業の勝敗をわけるもの
nek0128
1
480
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
480
手を動かして実感する、Kiro が変える開発体験
inariku
0
200
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
550
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.6k
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
120
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.1k
Bash Introduction
62gerente
615
220k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
240
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
570
Transcript
3分でMLアプリを作る 〜 推論コードにちょっとのStreamlitを添えて 〜 atma株式会社 山口貴大@nyk510
自己紹介 山口貴大 atma(アートマ)株式会社 取締役 学生時代に数理最適化の応用としての機械学習に興味をもち 新卒でatma入社。データ分析領域から、エンジニアとして フロントエンド・バックエンドの開発を行っています。 twitter: @nyker_goto
突然ですが、こんなことは無いですか? • 画像認識のモデルを作った! • 次はノンエンジニアに推論結果を共有したい!
意外とめんどくさい .py だと、推論できる人が実装者に限られる • 画像渡すので推論して!の要望に都度答える必要がある • 依頼が何度も来ると大変
めんどくさいなら WEBアプリにして 直接使ってもらえばよいのでは!
でも作るのは大変じゃない? • バックエンドわからん • フロントエンドわからん
わからんくても3分でできるよ!
3分は言い過ぎでは? → 基本の推論コードがあったら すぐできます
前提条件 推論用のコードは書いている • 画像を受け取ってモデルに入れてその予測値を返すコードがある。 Streamlit が install 済み • python
のパッケージ。 • 必要最小限の記述量でサーバーと入力・出力ができる
💡 利用のステップ • 普通に推論のコードを書く • 入出力部分を streamlit に直す • streamlit
server を立ち上げる > 紹介するコードは https://github.com/nyk510/3-min-ml-app にあります
推論用のコードを書く よくある推論コードです。 • 学習済みのモデルを読み込んで • 推論したい画像を読み込み • 推論して結果を保存 (今回は pytorch
を利用しています) 基本はこれで完成している。
入出力部分を Streamlit に直す 予測結果の出力 (st.pyploy/dataframe) 画像の受け取り (st.file_upload) Streamlit を10行ほど添えます。 先程の推論コード違うのは次の2点
• 画像の受け取り • 予測結果の出力 上記2つを Streamlit の関数で記述すると ブラウザのUI上で画像の選択 結果の可視化が行えるようになります。
Streamlit server を立ち上げる https://github.com/nyk510/3-min-ml-app `streamlit run your/application/path.py` を実行します。
アプリを公開する Streamlit が提供しているクラウド https://streamlit.io/cloud を使うとそ のまま公開することもできます! (時間がないので割愛…) もちろん自分でマシンを借りて起動して もOK!
もちろんこれで全部OKとなることは少ない… より強い要求が来ると大変😣 • ログイン認証つけたい ◦ 認証系の処理を追加する必要がある • 細かいデザインのカスタマイズをしたい ◦ 場合によっては
streamlit でなく自前で実装したほうが楽 ◦ フロントエンドの知識が必要がある • 推論の処理は別のサーバーに用意したい (たくさん推論する場合でも動かしたい) ◦ 推論サーバを実装する必要がある ◦ バックエンドの知識が必要 とはいえ、手軽にできる技があると何かと便利です。
まとめ • Streamlitを使うとサクッとMLアプリを作ることができます。 • 3分は盛りすぎてるかもしれませんが一度やったことがあれば短時 間でアプリ化できます。 • ささっとデモを試してもらうには十分な機能があるのでとても便利 です! 技としてとても優秀。