Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
Search
Yamaguchi Takahiro
April 14, 2022
Technology
1.2k
1
Share
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
3分クッキング的にMLアプリを作れるよという話です。
Yamaguchi Takahiro
April 14, 2022
More Decks by Yamaguchi Takahiro
See All by Yamaguchi Takahiro
コンペを気楽に開催しよーぜ!@関西Kaggler会
nyk510
0
1.4k
Django のセキュリティリリースを見る
nyk510
0
130
硬派で真面目なグラフを描く
nyk510
0
560
CORSをちゃんと理解する atmaバックエンド勉強会#4
nyk510
0
450
pythonで気軽にパッケージを作るのは良いという話。
nyk510
14
9.9k
RestAPIのページネーション atma バックエンド勉強会 #3
nyk510
1
1k
AWS CPU Credit を完全に理解する
nyk510
0
500
atmaCup#8 Opening
nyk510
0
310
オンサイトデータコンペの魅力: 関わる全員が楽しいコンペ設計のための取り組み
nyk510
3
5.6k
Other Decks in Technology
See All in Technology
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
5
1.8k
Agents CLI と Gemini Enterprise Agent Platform で マルチエージェント開発が楽しくなる!
kaz1437
0
140
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
0
1k
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
150
Hacobu Tech Deck
hacobu
PRO
0
130
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
140
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
140
スクラムの中で AI-DLC workflow を 使い始めて3ヶ月の振り返り
kaminashi
0
130
[最強DB講義]推薦システム | 評価編
recsyslab
PRO
0
110
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
5.3k
The Journey of Box Building
tagomoris
4
3.4k
クラウドネイティブな開発 ~ 認知負荷に立ち向かうためのコンテナ活用
literalice
0
150
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Amusing Abliteration
ianozsvald
1
160
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
280
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Facilitating Awesome Meetings
lara
57
6.8k
Scaling GitHub
holman
464
140k
Rails Girls Zürich Keynote
gr2m
96
14k
Mobile First: as difficult as doing things right
swwweet
225
10k
From π to Pie charts
rasagy
0
170
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
170
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分は盛りすぎてるかもしれませんが一度やったことがあれば短時 間でアプリ化できます。 • ささっとデモを試してもらうには十分な機能があるのでとても便利 です! 技としてとても優秀。