文 | Adrien Treuille
译 | 汇智网
推荐 | 编程派公众号(ID:codingpy)
Streamlit是一个专门为机器学习和数据分析团队设计的应用开发框架。它提供了一种快速构建自定义机器学习工具的方式,可以替代Flask在机器学习项目中的角色,帮助机器学习工程师快速开发用户交互工具。
Streamlit应用本质上是Python脚本,可以使用函数调用进行重构。如果你会编写Python脚本,那么就可以开发Streamlit应用。例如,下面的代码会在网页上显示“Hello, world!”:
```python import streamlit as st
st.write('Hello, world!') ```
结果如下:
Streamlit将组件视为变量,而不是回调函数。每个交互都会简单地返回结果,从而确保代码简洁:
```python import streamlit as st
x = st.slider('x') st.write(x, '的平方是', x * x) ```
结果如下:
当你需要下载大量数据或运行复杂计算时,如何处理?关键在于安全地重用数据。Streamlit引入了缓存机制,可以安全地重复使用信息。例如,下面的代码只会从Udacity的自动驾驶汽车项目中下载一次数据,从而实现简单而快速的应用:
```python import streamlit as st import pandas as pd
readandcachecsv = st.cache(pd.readcsv)
BUCKET = "https://streamlit-self-driving.s3-us-west-2.amazonaws.com/" data = readandcache_csv(BUCKET + "labels.csv.gz", nrows=1000)
desiredlabel = st.selectbox('筛选:', ['car', 'truck']) st.write(data[data.label == desiredlabel]) ```
结果如下:
简而言之,Streamlit的工作原理如下:
下面的Streamlit应用允许你在Udacity的自动驾驶汽车照片数据集中进行语义搜索、可视化人工标注,并实时运行YOLO目标检测器:
这个应用只有300行Python代码,其中大部分是机器学习代码。实际上,其中只有23个Streamlit调用。你可以尝试自己运行:
bash
pip install --upgrade streamlit opencv-python
streamlit run https://raw.githubusercontent.com/streamlit/demo-self-driving/master/app.py
原文链接:Turn Python Scripts into Beautiful ML Tools
回复下方关键词,获取优质资源: