机器学习工程师福音:超好用的Streamlit简介
作者头像
  • 高杰
  • 2019-10-31 14:44:53 3

本文将介绍一种专门针对机器学习工程师的应用程序框架——Streamlit。

在实际工作中,每个机器学习项目最终都会遇到各种问题,尤其是那些由Jupyter Notebook和Flask应用拼凑而成的工具,这些工具难以维护,且部署起来非常麻烦。这些工具通常包含传感器校准工具、模拟比较应用、激光雷达对准工具和场景回放工具等。随着项目的进展,这些工具的需求越来越多,最终导致维护变得困难重重。

为了应对这种情况,需要建立专门的工具团队,他们能够编写高质量的Vue和React代码。然而,这些团队往往有多个项目需要处理,导致工具更新周期较长。因此,我们需要一种更简便的方式来构建工具,使机器学习工程师能够独立创建高质量的应用程序,而无需依赖工具团队。

于是,我们开始探索如何让构建工具像编写Python脚本一样简单。我们希望机器学习工程师能够在不依赖工具团队的情况下,快速创建出优秀的应用程序。这些工具应该是机器学习工作流程的自然延伸。我们希望通过简化工具构建过程,使创建的工具既美观又高效,同时具备高度的灵活性。

经过一年的努力,我们开发出了Streamlit,这是一个面向机器学习工程师的完全免费的开源应用框架。Streamlit的核心理念是简化工具构建过程,使其更加直观和易用。

以下是Streamlit的几个核心特点:

  1. 包含Python脚本:Streamlit应用程序实际上就是一个自上而下运行的Python脚本,没有任何隐藏的结构。可以通过函数调用来分解代码。例如,可以输入以下代码: python import streamlit as st st.write('Hello, world!')

  2. 将微件视为变量:Streamlit中没有回调函数!每个交互只是自上而下重新运行脚本。这种方法产生的代码非常简洁: python import streamlit as st x = st.slider('x') st.write(x, '的平方是', x * x)

  3. 重用数据和计算:如果下载了大量数据或执行了复杂的计算怎么办?Streamlit引入了一个缓存机制,可以安全地重用信息。例如,这段代码只会从特定的URL下载一次数据,从而生成一个简单快速的应用程序: ```python import streamlit as st import pandas as pd

    重用此数据

    @st.cache def readandcachecsv(url): return pd.readcsv(url, nrows=1000)

    BUCKET = "https://streamlit-self-driving.s3-us-west-2.amazonaws.com/" data = readandcachecsv(BUCKET + "labels.csv.gz") desiredlabel = st.selectbox('筛选:', ['car', 'truck']) st.write(data[data.label == desired_label]) ```

Streamlit的工作原理如下: 1. 每次用户交互都会从头开始重新运行整个脚本。 2. Streamlit为每个变量配置最新的微件值。 3. 缓存机制允许Streamlit跳过冗余的数据提取和计算步骤。

总之,Streamlit使得机器学习工程师可以轻松地创建高效、美观且易于维护的应用程序。例如,一个300行的Streamlit应用可以实现语义视觉搜索和交互式神经网络推理。只需运行以下命令即可体验Streamlit: sh $ pip install --upgrade streamlit $ streamlit hello

Streamlit的应用程序是纯Python文件,可以与Git和其他源代码管理系统协同工作。此外,Streamlit提供了实时编码环境,使得开发过程更加流畅。例如,可以使用缓存简化计算流程,提高应用程序性能。

Streamlit是一个开源库,可以自由使用,无需联系开发者。它可以运行在任何支持Python的环境中,包括没有互联网连接的笔记本电脑。总之,Streamlit为机器学习工程师提供了一个强大且灵活的工具,能够简化工具构建过程,提升工作效率。

希望以上内容对你有所帮助,欢迎点赞、关注,共同分享AI学习与发展的经验。如需转载,请后台留言,遵守转载规范。

    本文来源:图灵汇
责任编辑: : 高杰
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
好用福音Streamlit机器工程师简介学习
    下一篇