python代码怎么变成软件_从Python代码到APP,你只需要一个小工具:GitHub已超6000星

点击上方Python知识圈,选择设为星标

回复1024获取Python资料

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

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

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

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

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

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

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

Streamlit 中没有 callback!每一次交互都只是自上而下重新运行脚本。该方法使得代码非常干净:import streamlit as stx = st.slider(‘x’)st.write(x, ‘squared is’, x * x)

感兴趣的话,你可以立刻尝试!只需运行以下行:

页浏览器将自动打开,并转向本地 Streamlit app。如果没有出现浏览器窗口,只需点击链接。

整个 app 只有 300 行 Python 代码,其中大部分是机器学习代码。事实上,整个 app 里只有 23 次 Streamlit 调用。你可以试试看:

纯 Python 代码可与 Git 等源码控制软件无缝对接,包括 commits、pull requests、issues 和 comment。由于 Streamlit 的底层语言是 Python,因此你可以免费利用这些协作工具的好处。

缓存简化计算流程。一连串缓存函数自动创建出高效的计算流程!你可以尝试以下代码:

Streamlit 适用于 GPU。Streamlit 可以直接访问机器级原语(如 TensorFlow、PyTorch),并对这些库进行补充。例如,以下 demo 中,Streamlit 的缓存存储了整个英伟达 PGGAN。该方法可使用户在更新左侧滑块时,app 执行近乎即时的推断。

扫码添加,备注:交流学习往期推荐01

分享给你的朋友

点个在看

f162a133f5d3f77b0ba54345033c8085.webp

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览209287 人正在系统学习中 相关资源:fouro-application:iOSAndroid应用程序,用于发送虚拟拥抱并与朋友…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月20日
下一篇 2020年10月20日

相关推荐