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
Gradioでもう誰でも見れるデモ
Search
Henry Cui
November 27, 2022
Technology
0
550
Gradioでもう誰でも見れるデモ
Henry Cui
November 27, 2022
Tweet
Share
More Decks by Henry Cui
See All by Henry Cui
Direct Preference Optimization
zchenry
0
110
Diffusion Model with Perceptual Loss
zchenry
0
61
レンズの下のLLM / LLM under the Lens
zchenry
0
88
Go with the Prompt Flow
zchenry
0
94
Mojo Dojo
zchenry
1
130
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
150
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
zchenry
0
110
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
57
{{guidance}}のガイダンス / Guidance of guidance
zchenry
0
100
Other Decks in Technology
See All in Technology
私のRSpecの書き方 / How I write RSpec
tmtms
4
820
Tohoku.Tech #1 「EC-CUBE/AWSの構築をChatGPTに相談してみました」by テンダ
jun2882
0
140
期待しすぎずに取り組む両面 TypeScript
shozawa
2
270
TCA入門したてなので、自分が馴染みのある実装と比較しながらキャッチアップしてみる
fumiyasac0921
1
370
今さら聞けない!? AWSの生成AIサービス Amazon Bedrock入門!
minorun365
PRO
11
1.6k
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
22
6.5k
複数の LLM モデルを扱う上で直面した辛みまとめ
kazuyaseki
1
200
Cloud Friendly(?) Jenkins. How we failed to make Jenkins cloud native and what we learned?
onenashev
PRO
0
110
KubeCon EU: Unlocking new Platform Experiences with Open Interfaces
salaboy
1
360
ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
yuitosato
29
11k
初心者が行く!サーバレスWebアプリ開発の道
nagaharutogawa
0
440
技術広報として2023年度に頑張ったこと / What we did well in FY2023 as a DevRel
pauli
5
450
Featured
See All Featured
Happy Clients
brianwarren
91
6.3k
Gamification - CAS2011
davidbonilla
76
4.5k
[RailsConf 2023] Rails as a piece of cake
palkan
21
3.8k
For a Future-Friendly Web
brad_frost
170
8.9k
Documentation Writing (for coders)
carmenintech
59
3.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
257
12k
Being A Developer After 40
akosma
56
580k
The World Runs on Bad Software
bkeepers
PRO
60
6.6k
Pencils Down: Stop Designing & Start Developing
hursman
115
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
Writing Fast Ruby
sferik
619
59k
KATA
mclloyd
14
11k
Transcript
Gradioでもう誰でも見れるデモ 機械学習の社会実装勉強会第17回 Henry 2022/11/26
人にデモを見せたい ▪ 機械学習を使ったシステムを開発するにあたって、以下のよう な進捗共用が少なくない • データ解析手法を変えた場合の解析結果 • モデル構造を変えた場合の推論結果 • 新しいデータに対するEDA
• …… ▪ ニーズ • 粒度の高い細かめのステップでデモを見せたい(大げさでない) • インタラクティブなデモを見せたい ▪ ペインポイント • 相手にアクセスしてもらうためには、どこかにデプロイしないといけない • 再現可能な環境を用意し、相手に準備してもらう 2
Gradioでインタラクティブなデモ ▪ 二層のインタラクティブネス • ブラウザでインタラクティブに扱える • 自分が用意したデモを、他人が簡単にURLでアクセスできる ▪ ブラウザでインタラクティブ •
https://gradio.app/ • Pythonで作れるデータサイエンス・機械学習用のミニアプリ 3
他人が簡単にアクセスできるデモ ▪ パラメータ一つを設定するだけで、シェア可能! • gr.Interface(classify_image, "image", "label").launch(share=True) ▪ これで、http://xxx.gradio.app のようなURLが生成される
▪ このURLにアクセスすることで、ローカルPCで動かされている Gradioアプリにアクセスすることになる • たとえ公開IPなど設定されていなくても! ▪ これの実現方法をこれから説明する 4
SSHを用いたリモートフォワード ▪ 外部ネットワークから内部ネットワークにアクセスしたいという ニーズ ▪ 通常、SSHで使うポートフォワーディングはローカルフォワード と呼ばれて、SSHコネクションと同方向のアクセスしかできな い ▪ しかし、リモートフォワーディングを使えば、片方の通信が確立
された、逆方向のアクセスもできる 5 http://redhatlinux.kt.fc2.com/cont/ssh+pp3.gif
SSHを用いたリモートフォワード ▪ ローカルPC 192.168.11.3 ▪ (Gradioの)サーバー xxx.xx.xxx.xx ▪ ローカルPCで、以下のコマンドを実行 •
ssh -R 8501:xxx.xx.xxx.xx:22 192.168.11.3 ▪ これでサーバーからローカルPCに逆方向で通信するトンネル ができる ▪ サーバーへのアクセスが、ローカルPCでのアプリへにリダイレ クトされる 6
Gradioでの実現方法 ▪ 表はパラメータ一つで制御 ▪ gradio/tunneling.pyにcreate_tunnel関数が実装される • paramikoライブラリーを使用 7
まとめ ▪ Gradioでシェアできるデモ ▪ SSHのリモートフォワード ▪ セキュリティなどのリスクを考慮して、長い期間でデモを見せた いときは、AWS App Runnerでデプロイするのがおすすめ
8