关于Python机器学习工具开发框架Streamlit的详细简介

  

小编给大家分享一下关于Python机器学习工具开发框架Streamlit的详细简介,这个框架具体有什么用呢,相信大部分人都还不怎么了解,因此分享这篇文章给大家学习,希望大家阅读完这篇文章后大所收获,下面让我们一起去学习吧!

机器学习开发者想要打造一款 App 有多难?事实上,你只需要会 Python 代码就可以了,剩下的工作都可以交给一个工具。近日,Streamlit 联合创始人 Adrien Treuille 撰文介绍其开发的机器学习工具开发框架——Streamlit,这是一款专为机器学习工程师创建的免费、开源 app 构建框架。这款工具可以在你写 Python 代码的时候,实时更新你的应用。目前,Streamlit 的 GitHub Star 量已经超过 3400,在 medim 上的热度更是达到了 9000+。

关于Python机器学习工具开发框架Streamlit的详细简介

Streamlit 网站:https://streamlit.io/

GitHub地址:https://github.com/streamlit/streamlit/

关于Python机器学习工具开发框架Streamlit的详细简介

以我的经验,每一个不平凡的机器学习项目都是用错误百出、难以维护的内部工具整合而成的。这些工具通常用 Jupyter Notebooks 和 Flask app 写成,很难部署,需要对客户端服务器架构(C/S 架构)进行推理,且无法与 Tensorflow GPU 会话等机器学习组件进行很好的整合。

我第一次看到此类工具是在卡内基梅隆大学,之后又在伯克利、Google X、Zoox 看到。这些工具最初只是小的 Jupyter notebook:传感器校准工具、仿真对比 app、激光雷达对齐 app、场景重现工具等。

当一个工具越来越重要时,项目经理会介入其中:进程和需求不断增加。这些单独的项目变成代码脚本,并逐渐发展成为冗长的「维护噩梦」……

关于Python机器学习工具开发框架Streamlit的详细简介

而当一个工具非常关键时,我们会组建工具团队。他们熟练地写 Vue 和 React,在笔记本电脑上贴满声明式框架的贴纸。他们的设计流程是这样式的:

关于Python机器学习工具开发框架Streamlit的详细简介

这简直太棒了!但是所有这些工具都需要新功能,比如每周上线新功能。然而工具团队可能同时支持 10 多个项目,他们会说:「我们会在两个月内更新您的工具。」

我们返回之前自行构建工具的流程:部署 Flask app,写 HTML、CSS 和 JavaScript,尝试对从 notebook 到样式表的所有一些进行版本控制。我和在 Google X 工作的朋友 Thiago Teixeira 开始思考:如果构建工具像写 Python 脚本一样简单呢?

我们希望在没有工具团队的情况下,机器学习工程师也能构建不错的 app。这些内部工具应该像机器学习工作流程的副产品那样自然而然地出现。写此类工具感觉就像训练神经网络或者在 Jupyter 中执行点对点分析(ad-hoc analysis)!同时,我们还想保留强大 app 框架的灵活性。我们想创造出令工程师骄傲的好工具。

我们希望的 app 构建流程如下:

关于Python机器学习工具开发框架Streamlit的详细简介

与来自 Uber、Twitter、Stitch Fix、Dropbox 等的工程师一道,我们用一年时间创造了 Streamlit,这是一个针对机器学习工程师的免费开源 app 框架。不管对于任何原型,Streamlit 的核心原则都是更简单、更纯粹。

Streamlit 的核心原则如下:

1. 拥抱Python

Streamlit应用是完全自上而下运行的脚本,没有隐藏状态。你可以利用函数调用来处理代码。只要你会写Python脚本,你就可以写Streamlit应用。例如,你可以按照以下代码对屏幕执行写入操作:

import  streamlit  as  stst.write(& # 39;,你好,世界! & # 39;)

关于Python机器学习工具开发框架Streamlit的详细简介

2。把部件视作变量

Streamlit中没有回调!每一次交互都只是自上而下重新运行脚本。该方法使得代码非常干净:

import  streamlit  as  stx =, st.slider (& # 39; x # 39;)   st.write (x,, & # 39; squared 如果# 39;,,x  *, x)

关于Python机器学习工具开发框架Streamlit的详细简介