Streamlit是什麼?-Streamlit入門(1)

YT Chen
6 min readFeb 20, 2020

--

Streamlit 是特別設計給機器學習與資料科學的開源框架,

不需要任何網頁的知識,

只需要用python的語法就能輕鬆架構出dashboard與app!

Documentation:

以下皆在終端機(cmd)操作,用jupyter是不行的!

用pip就能安裝

如果要跑自己的檔案則是輸入

使用 streamlit hello可以看看官方的4個demo,都很炫酷

左邊拖曳silder調整參數就可以改變中間的碎形動畫

streamlit demo-1

在進度條跑完前會隨機繪製的折線圖

streamlit-2
streamlit demo-2

地圖

streamlit demo-3

按X就可以看不到某國的資料

streamlit demo-4

還可以玩實時的圖像辨識,雖然第一次要下載一段時間但真心推薦玩一玩

https://github.com/streamlit/demo-self-driving

streamlit demo-self driving

以及官方的 Tutorial: Create a data explorer app

透過這個Tutorial可以了解streamlit的精髓-@st.cache

@st.cache是什麼?

@st.cache是裝飾器(Decorator),在def前加入能使得載入資料變成快取,進而加速app的運算速度,基本上不用的話速度會~很~慢~~

有興趣請參考以下documents:

st.write()即可print出大部分的東西,包括但不限於dataframe、matplotlib/altair/ploty圖表、graphviz關係圖、keras model圖與表情符號(?)

或許是最花俏的Hello World?

使用python 3也可以不要用st.write(),document中稱為Magic Commands

streamlit-magic commands

除了另外import套件之外,streamlit也有提供自己的簡單繪圖api

streamlit-line_chart
streamlit-area_chart
streamlit-bar_chart

st.image()可以插入圖片、後面替換為audio/video則是音訊跟影片

當然如果要在網路上使用還是得找個圖床之類的放啦

互動式小工具(Display interactive widgets):

button:

checkbox:

radio:

selectbox:

multiselect:

silder:

file_uploader:

sidebar.XX :(位於左方)

echo:可運行並show出code,通常會搭配checkbox隱藏起來

更多請參考api reference:

下一篇:實際運用框架

--

--