理想的 Web 應用開發設計全端。但專業分工下,ML/NLP 工程師不見得有時間專研,因此某種 (不是 jupyter notebook) 符合下列條件的前端是需要的。
我們一開始先用你熟悉的方式快速上手 web apps 的概念
Streamlit 與 Gradio 都是選項之一。Streamlit 是一個 python-based web application 架構,可以很快上手建立原型,探索互動經驗,與機器學習模型成果。
我們先學習來如何安裝、創建一個 web app 來感覺一下。妳需要安好:
python 3.7 (or later)VS code常用指令快速鍵 (可參考別人並建立自己的清單),例如
Cmd+j(Ctrl+j) 開啟/關閉終端機
Cmd+b 開啟/關閉檔案總管
Cmd+SHIFT 切換檔案;Cmd+SHIFT+p 執行常用任務
目的在於加速開發速度,而已。
參考:語言計算技能入門
mkdir nlpWeb
cd nlpWeb
那就開始進入Streamlit 的世界了。
pip install streamlit
# check four demos
streamlit hello &
mkdir plot_demo_app
cd plot_demo_app
touch plot_demo_app.py
import streamlit as st
import time
import numpy as np
複製網頁上的 plotting demo 程式碼到 plot_demo_app
終端機執行 streamlit run plot_demo_app.py
Voila!
如法炮製
myApp)。myApp.py)。import streamlit as st
st.write('我的第一個')
streamlit run myApp.py (可以用 Ctrl+c 關掉)Exploratory data analysis and Visualization
crash course
https://github.com/lopentu/nlp_web
git clone https://github.com/lopentu/nlp_web.git
clone 下來。myApp.py 複製到這個 repo 目錄下。git add .
git commit -m 'added my script'
git push
在
sli.do(#nlpweb) 打入你的 repo link
The data contains size measurements for three penguin species
penguins.csv)> mkdir pengu_app
> cd pengu_app
> touch pengu.py
pengu.py
import streamlit as st
import pandas as pd
st.title('Penguins')
# import data
pengu_df = pd.read_csv('penguins.csv')
st.write(pengu_df.head(10))
streamlit run pengu.py使用 st.selectbox() 讓使用者可以選擇不同變項。
選擇後要執行的函式(如 scatterplot)。
調整視覺(如:色調與形狀)
st.write() prints out nearly any Python objects
可以使用 jupyter notebook 先確認後 (忽略 st.),再複製到 streamlit。
Jupyter notebook in VS codeData manipulation in Streamlit
pandas)。Allow the user to filter out penguins based on their gender?
@st.cache() 這一行,有助加速。Visualization is fundamental to Data Science and related fields.
可以利用 streamlit原生的(Native graphics functions),和第三方的圖形函示庫。包括:
(a) Seaborn + Matplotlab: 統計製圖
(b) Plotly:互動式
(c) Bokeh:特別適合在瀏覽器呈現的互動視覺
(d) Vega-Altair: 宣告式視覺化
(e) PyDeck: 與地圖有關
short term memory