加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

发布时间:2019-11-05 13:28:50 所属栏目:评测 来源:机器之心编译
导读:机器学习开发者想要打造一款 App 有多难?事实上,你只需要会 Python 代码就可以了,剩下的工作都可以交给一个工具。近日,Streamlit 联合创始人 Adrien Treuille 撰文介绍其开发的机器学习工具开发框架Streamlit,这是一款专为机器学习工程师创建的免费、

使用 st.cache,在 Streamlit 多次运行中保存数据。代码运行说明,参见:https://gist.github.com/treuille/c633dc8bc86efaa98eb8abe76478aa81#gistcomment-3041475。

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

运行以上 st.cache 示例的输出。

简而言之,Streamlit 的工作流程如下:
  1. 每次用户交互均需要从头运行全部脚本。
  2. Streamlit 根据 widget 状态为每个变量分配最新值。
  3. 缓存保证 Streamlit 重用数据和计算。
如下图所示:

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

用户事件触发 Streamlit 从头开始重新运行脚本。不同运行中仅保留缓存。
感兴趣的话,你可以立刻尝试!只需运行以下行:
网页浏览器将自动打开,并转向本地 Streamlit app。如果没有出现浏览器窗口,只需点击链接。

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

这些想法很简洁,但有效,使用 Streamlit 不会妨碍你创建丰富有用的 app。我在 Zoox 和 Google X 工作时,看着自动驾驶汽车项目发展成为数 G 的视觉数据,这些数据需要搜索和理解,包括在图像数据上运行模型进而对比性能。我看到的每一个自动驾驶汽车项目都有整支团队在做这方面的工具。
在 Streamlit 中构建此类工具非常简单。以下 Streamlit demo 可以对整个 Udacity 自动驾驶汽车照片数据集执行语义搜索,对人类标注的真值标签进行可视化,并在 app 内实时运行完整的神经网络(YOLO)。

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

这个 300 行代码写成的 Streamlit demo 结合了语义视觉搜索和交互式神经网络推断。

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

从Python代码到APP,你只需要一个小工具:GitHub已超3000星
我们与机器学习团队合作,为他们的项目而努力时,逐渐意识到这些简单的想法会带来大量重要的收益:
Streamlit app 是纯 Python 文件。你可以使用自己喜欢的编辑器和 debugger。

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

我用 Streamlit 构建 app 时喜欢用 VSCode 编辑器(左)和 Chrome(右)。

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

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

Streamlit app 是 Python 脚本,因此你可以使用 Git 轻松执行版本控制。

Streamlit 提供即时模式的编程环境。当 Streamlit 检测出源文件变更时,只需点击 Always rerun 即可。

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

点击「Always rerun」,保证实时编程。

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

从Python代码到APP,你只需要一个小工具:GitHub已超3000星

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读