Slide 1

Slide 1 text

最近話題のStreamlit でデモツールを作る HIDEHISA ARAI 2020/06/26@機械学習系のLT会#1

Slide 2

Slide 2 text

本発表について üStreamlitの紹介 üAPIを覗いてみる ü⾃作デモツールの紹介 Streamlitを⽤いたデモツールの⾃作

Slide 3

Slide 3 text

⾃⼰紹介 Kaggle Competition Master 東京⼤学⼤学院航空宇宙⼯学専攻 修⼠3年⽬ NABLAS株式会社 Researcher 専⾨:異常検知・表現学習・ドメイン適応 Domain Adaptation + Disentanglementの研究を しています。 最近の興味↓ @hiding_koukyo / @kaggle_araisan https://github.com/koukyo1994 https://www.kaggle.com/hidehisaarai1213 https://www.kaggle.com/c/birdsong-recognition

Slide 4

Slide 4 text

Streamlitとは フロントエンドを気にすることなく Pythonだけでアプリケーションを作 れる最速Webアプリフレームワーク DataFrameの描画やグラフの表⽰な どが簡単にできるためデータサイエ ンス・機械学習との相性は抜群 インタラクティブに画⾯を操作できるの でパラメータをいじって可視化をグリグ リ動かすようなデモに最適

Slide 5

Slide 5 text

AwesomeなAPI達 https://docs.streamlit.io/en/stable/api.html インタラクティブなウィジェット で画⾯をコントロール Selectbox Slider Text Number and more... DataFrameの表⽰、様々なプロッ トツールに対応 DataFrame 画像・⾳などのメディアの表⽰も できる Audio Image and videos Pyplot, Plotly, Graphviz, Altair etc.

Slide 6

Slide 6 text

デモ

Slide 7

Slide 7 text

Pros / Cons • プロットの作成など、ツールの使い⽅ がある程度定まっている場合には Jupyterよりgood • 微妙な調整をパラメータを⼿でグ リグリいじりながら⾏える • このパラメータなんだっけ?問題 の解決 • 研究内容のデモなどがカジュアルに作 れる • フロントに関しては全く意識しなくて 済む • データのキャッシングなどめんどくさ い部分を綺麗にラップしてくれる • 配置の調整はほぼできない • プロットや画像は画⾯いっぱいに 展開されてしまうことも • 時間がかかる処理を回したりするのは あまり向いていない • 処理中にパラメータを弄ってし まって再計算が⾛る→計算負荷で 死ぬ • I/Oがビミョい • 複数ファイルのアップロード不可 • 特定のフォルダの指定不可 • メディア(audio, video)はバイナリ を渡さないといけない