Gradio vs Streamlit vs Dash vs Flask几款的对比
Gradio:Gradio 是专门为机器学习模型构建的。因此,如果您想专门为您构建的机器学习模型创建一个 Web UI,Gradio 的简单语法和设置是您的不二之选。
Streamlit:如果您想快速启动和运行仪表板,并且可以灵活地添加大量组件和控件,则 Streamlit 非常有用。此外,Streamlit 允许您比 Dash 或 Flask 更快地构建 Web UI 或仪表板。
Dash:如果你想成为大公司的生产就绪仪表板,请选择 Dash,因为它主要是为企业公司量身定制的。
Flask:如果您了解 Python/HTML/CSS 编程并且想要完全从头开始构建自己的解决方案,请选择 Flask。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.****.net/sinat_26917383/article/details/127949670
快速生成 AI 应用的框架对比:Gradio、Streamlit 和 Dash
原文链接:https://zhuanlan.zhihu.com/p/611828558
streamlit
优点:
默认组件库更为精细化,并且组件的类型比较多,例如支持更多的可视化展示例如 Matplotlib、Vega Lite (2D charts) 和 deck.gl (maps and 3D charts);数据集本地上传等功能
支持自定义组件以及异步加载,也因此社区组件比较丰富。
缺点:
streamit 更加独立,没有办法较好地直接展示在 Notebook 中。
streamit 由于更加灵活,并且内置功能较多,完全熟练使用需要一定的时间上手,不如 gradio 简单。
PyWebIO
PyWebIO:快速构建web应用-示例程序
https://mp.weixin.qq.com/s/0TCQ5uYxUygqER4HlRxeDg
https://blog.****.net/Yuki1127918/article/details/121984520
gradio
几个好处:
Gradio可以用pip安装。创建Gradio接口只需要在项目中添加几行代码。您可以从各种接口类型中选择为您的函数提供接口。
Gradio可以嵌入Python笔记本中,也可以作为网页呈现。Gradio接口可以自动生成一个公共链接,您可以与同事共享,让他们从自己的设备远程与您计算机上的模型进行交互。
接口长期在线,旦你创建了一个接口,你可以永久地托管它在 Hugging Face.Hugging Face空间将把界面托管在其服务器上,并为你提供一个可以分享的链接。
这是一个可以共享的小程序,只需在launch函数里面设置参数share=True,就会得到一个神奇的public 网址,格式为https://xxxx.gradio.app (https 协议,安全靠谱)。
这个网址你可以愉快的分享给你的伙伴了,可以在电脑或者手机打开,比如分享到微信里,就是一个活脱脱的小程序。
参考文章:
Gradio: 让机器学习算法秒变小程序
Gradio:轻松实现AI算法可视化部署
优点:
组件的封装程度高,并且尤其适合机器学习模型相关的应用,比如 NLP、CV 领域的模型,最近比较火的 stable-diffusion-webui 就是基于 gradio 搭建的,也可以方便地做一个 ChatGPT 的简单对话框。
可以快速创建可共享的链接,从而方便将链接分享给用户。
可以直接在 Jupyter Notebook 中展示。
缺点:
组件的扩展性比较差,如果你想定制一个组件,需要 fork 它的代码,修改源代码从而添加组件,并不支持独立的自定义组件。
使用场景较为简单,如果你有复杂的数据图表展示等需求,使用 gradio 会难以满足。
简单来说,如果你想快速制作一个演示 demo,并且你需要的功能正好 gradio 的官方组件列表中也有现成的组件可用,那么你就可以使用 gradio,否则就不建议使用了。
Dash
feffery-antd-components(简称fac) https://fac.feffery.tech/what-is-fac ,基于著名的React UI组件库ant design进行大量二次开发,将ant design中的诸多实用组件及特性引入Dash,帮助开发者纯Python构建现代化高质量且任意复杂程度的交互式web应用,帮助你将有关web应用的美好憧憬✨高效地实现。
Dash应用页面整体布局技巧
https://mp.weixin.qq.com/s/MkDUXYDatt4ON5qzAkmO_A
streamlit (23.3k)
Streamlit 可让您在数分钟而不是数周内将数据脚本转变为可共享的 Web 应用程序。这一切都是Python、开源和免费的!创建应用程序后,您可以使用我们的社区云平台来部署、管理和共享您的应用程序。
Gradio(13.9k)
Gradio 是一个开源 Python 库,用于构建机器学习和数据科学演示以及 Web 应用程序。使用 Gradio,您可以围绕您的机器学习模型或数据科学工作流程快速创建一个漂亮的用户界面,并让人们通过拖放自己的图像、粘贴文本、录制自己的声音以及与您的演示,全部通过浏览器。
Dash (18.3k)
Dash 是用于构建 ML 和数据科学 Web 应用程序的下载次数最多、最值得信赖的 Python 框架。•Dash建立在Plotly.js、React和Flask之上,将下拉菜单、滑块和图形等现代 UI 元素直接与您的分析 Python 代码联系起来。
Voila(4.6k)
Voila是一个Jupyter Notebook的扩展,用于将Notebook转换为交互式Web应用程序。它提供了一个简单易用的界面,使您可以快速构建数据可视化和机器学习应用程序。
PyWebIO(3.7k)
PyWebIO是一个用于构建Web应用程序的Python库。它提供了一个简单易用的API,使您可以在浏览器中构建交互式数据可视化和机器学习应用程序。