当前位置: 首页 > news >正文

Streamlit 工具记录

Streamlit 是基于 Python 的 Web 应用程序框架,可视化数据,分析结果。

Streamlit 是一个开源库,可在短时间内开发机器学习可视化仪表板。只需几行代码就可以构部署强大的数据应用程序。Streamlit 可将仪表板的开发时间从几天缩短至几小时。

第一个程序,在终端中运行streamlit run demo_01.py

import streamlit as st
st.write('Hello, world!')

将微件视为变量

Streamlit 没有回调函数,每个交互只能自上而下重新运行脚本,这样产生了真正整洁的代码。

x = st.slider('x')
st.write(x, 'squared is', x * x)

重用数据和计算

如果下载了大量数据或执行复杂计算,关键是在运行中安全地重用信息。Streamlit 引入了一个缓存原语,这是一个持久的,默认情况下不变的数据存储区,使Streamlit 安全地重用信息。

使用 st.cache 在 Streamlit 运行中持久化数据。

read_and_cache_csv = st.cache(pd.read_csv)
BUCKET = "https://streamlit-self-driving.s3-us-west-2.amazonaws.com/"
data = read_and_cache_csv(BUCKET + "labels.csv.gz", nrows=1000)
desired_label = st.selectbox('Filter to:', ['car', 'truck'])
st.write(data[data.label == desired_label])

Streamlit是这样工作的:

1. 为每个用户交互从头开始运行整个脚本。

2. Streamlit为每个变量配置指定微件状态的最新值。

3. 缓存允许Streamlit跳过冗余的数据提取和计算步骤。

Streamlit应用程序是纯Python文件,可以同时使用自己喜欢的编辑器和调试器。

Streamlit提供立即模式实时编码环境,只需在Streamlit检测到源文件更改时单击“始终重新运行”。

缓存简化了计算流程的设置,链接缓存函数会自动创建高效的计算流程:

@st.cache
def load_metadata():DATA_URL = "https://streamlit-self-driving.s3-us-west-2.amazonaws.com/labels.csv.gz"return pd.read_csv(DATA_URL, nrows=1000)
@st.cache
def create_summary(metadata, summary_type):one_hot_encoded = pd.get_dummies(metadata[["frame", "label"]], columns=["label"])return getattr(one_hot_encoded.groupby(["frame"]), summary_type)()
# Piping one st.cache function into another forms a computation DAG.
summary_type = st.selectbox("Type of summary:", ["sum", "any"])
metadata = load_metadata()
summary = create_summary(metadata, summary_type)
st.write('## Metadata', metadata, '## Summary', summary)

一般的程序是load_metadata→create_summary;每次运行脚本时,Streamlit只重新计算所需流程的任何子集,以获得准确信息。

Streamlit是为GPU构建的,允许直接访问机器原语(如TensorFlow和Pytorch),并对这些库进行补充。例如,Streamlit的缓存存储了所有英伟达名人的照片GAN,当用户更新滑块时,这种方法几乎可以即时进行推理。

参考:

百度安全验证

http://www.lryc.cn/news/34732.html

相关文章:

  • GreenPlum小结
  • C语言中数组和指针
  • Leetcode.剑指 Offer II 022 链表中环的入口节点
  • 4种不同编程语言的打印方式
  • websocket介绍
  • Educational Codeforces Round 144 (Rated for Div. 2),C,D
  • 【redis学习篇】Redis三种持久化方式详解
  • 垃圾回收中的分代年龄
  • 蓝桥杯-左移右移(2022国赛)
  • 你还在手撸SQL?ChatGPT笑晕在厕所
  • 【Redis】Redis慢查询
  • 【Kubernetes】第二十一篇 - k8s 项目部署流程和操作梳理
  • 推荐系统[九]项目技术细节讲解z2:搜索Query理解[Term Weight、Query 改写、同义词扩写]和语义召回技术
  • 【项目精选】基于SSH的医院在线挂号系统(视频+论文+源码)
  • Pandas库:从入门到应用(一)
  • MySQL中concat()、concat_ws()、group_concat()函数使用
  • 【JavaEE初阶】第四节.文件操作 和 IO (上篇)
  • 开源免费堡垒机Teleport堡垒机的安装
  • 图形报表ECharts
  • 便捷式储能电源核心技术--单相逆变器设计
  • Gamma矫正
  • 速懂cookie,session,token
  • javaEE初阶 — HTML 中的常见标签
  • MySQL慢查询
  • tensorflow【import transformers 报错】
  • JMU软件20 计算机网络复习
  • Java基础之《dubbo(1)—dubbo基础入门》
  • HTML注入的一种攻击思路(超链接替换为点击验证,现在常见)
  • Redis-6集群
  • Spring Cloud学习笔记:基础知识