阅读 63
用Streamlit将Python脚本快速转化为工作中的Web应用

用Streamlit将Python脚本快速转化为工作中的Web应用

利用Streamlit将Python脚本快速转化为工作中的Web应用

发布者::Guglielmo Iozzia inPython 8月10日, 2021 0次浏览

我刚刚意识到,我使用Streamlit 已经快一年了,在Twitter或LinkedIn上发布过几次,但之前从未写过一篇关于它的博文。

数据科学和机器学习的交流是关键。能够展示正在进行的工作,并与企业分享结果,这一点很重要。口头和非口头的沟通技巧很重要。如果有一些工具可以支持你与那些不可能有技术背景或希望听到结果和商业价值的混合听众进行这种对话,将有很大帮助。我发现Streamlit很适合这种情况。

Streamlit是一个开源的(Apache License 2.0)Python框架,可以在几分钟内将数据或ML脚本变成可共享的网络应用(不是开玩笑)。只有Python:不需要前端经验。

要开始使用Streamlit,只需通过pip安装它(它在Anaconda中也可用)。

pip install streamlit

然后你就可以执行工作中的演示程序了。

streamlit hello

可以通过http://localhost:8501 地址访问网络浏览器。

Streamlit是基于这三个原则的。

  • 脚本化:构建一个应用程序必须在几行代码中发生。然后开发者可以看到它在迭代保存源文件时自动更新。通常情况下,你可以实现一个完整的工作应用,写50行左右的Python代码。
  • 融入互动:添加一个部件与在Python中声明一个变量是一样的。不需要做其他事情,如编写后台、定义路由、处理HTTP请求、连接前端和编写HTML、CSS和JavaScript。
  • 即时部署:Streamlit公司提供了一个快速应用部署和共享的平台,并加强协作。无论如何,在不同的平台(如Heroku或AWS)上部署Streamlit网络应用程序是可能的,但你必须根据所使用的特定平台的要求管理SSO、安全、可扩展性等。

所有主要的Python可视化库都与Streamlit兼容(我主要与Plotly和Matplotlib合作,但你也可以找到几十个与其他库合作的例子)。在ML/DL框架方面也是如此(到目前为止,我的经验是使用Keras和TensorFlow,但这并不是唯一支持的框架)。当然,任何DS或ML项目的通用库,如Numpy、Pandas或OpenCV都可以与Streamlit一起使用。
通过Streamlit,你可以建立真正强大的应用程序:它保持了你可以在官方网站上看到的承诺。与其浏览API,我更愿意在这里分享我的GitHub空间中的一些Streamlit应用,这样你就可以自己检查这个框架可以做什么。

使用CNN对图像中大部分透明血管内的材料进行检测、分割和分类:
github.com/virtualramb…

Google的MediaPipe 手部追踪的演示应用程序:https://github.com/virtualramblas/streamlit-mediapipe-hands-tracking

预先训练的MobileNet CNN模型+OpenCV的简单前端,用于图像中的人脸面具检测:
github.com/virtualramb…

你还在等什么,开始评估它并加入社区

我将在未来就特定的Streamlit主题写博文。敬请关注!

经我们JCG项目的合伙人Guglielmo Iozzia许可,发表在Java Code Geeks上。点击这里查看原文。利用Streamlit将Python脚本快速转化为工作中的Web应用

Java Code Geeks撰稿人所表达的观点属于他们自己。

机器学习 开源 2021-08-10

Guglielmo Iozzia

文章分类
代码人生
文章标签