Streamlitの紹介とそれを使ったデモ
最近話題のStreamlitでデモツールを作るHIDEHISA ARAI2020/06/26@機械学習系のLT会#1
View Slide
本発表についてüStreamlitの紹介üAPIを覗いてみるü⾃作デモツールの紹介Streamlitを⽤いたデモツールの⾃作
⾃⼰紹介Kaggle Competition Master東京⼤学⼤学院航空宇宙⼯学専攻 修⼠3年⽬NABLAS株式会社 Researcher専⾨:異常検知・表現学習・ドメイン適応Domain Adaptation + Disentanglementの研究をしています。最近の興味↓@hiding_koukyo / @kaggle_araisanhttps://github.com/koukyo1994https://www.kaggle.com/hidehisaarai1213https://www.kaggle.com/c/birdsong-recognition
Streamlitとはフロントエンドを気にすることなくPythonだけでアプリケーションを作れる最速WebアプリフレームワークDataFrameの描画やグラフの表⽰などが簡単にできるためデータサイエンス・機械学習との相性は抜群インタラクティブに画⾯を操作できるのでパラメータをいじって可視化をグリグリ動かすようなデモに最適
AwesomeなAPI達https://docs.streamlit.io/en/stable/api.htmlインタラクティブなウィジェットで画⾯をコントロールSelectboxSliderTextNumberand more...DataFrameの表⽰、様々なプロットツールに対応DataFrame画像・⾳などのメディアの表⽰もできるAudioImageand videosPyplot, Plotly, Graphviz, Altair etc.
デモ
Pros / Cons• プロットの作成など、ツールの使い⽅がある程度定まっている場合にはJupyterよりgood• 微妙な調整をパラメータを⼿でグリグリいじりながら⾏える• このパラメータなんだっけ?問題の解決• 研究内容のデモなどがカジュアルに作れる• フロントに関しては全く意識しなくて済む• データのキャッシングなどめんどくさい部分を綺麗にラップしてくれる• 配置の調整はほぼできない• プロットや画像は画⾯いっぱいに展開されてしまうことも• 時間がかかる処理を回したりするのはあまり向いていない• 処理中にパラメータを弄ってしまって再計算が⾛る→計算負荷で死ぬ• I/Oがビミョい• 複数ファイルのアップロード不可• 特定のフォルダの指定不可• メディア(audio, video)はバイナリを渡さないといけない