python 写web前端的库

news2024/11/8 10:41:26

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.csdn.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.csdn.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,使您可以在浏览器中构建交互式数据可视化和机器学习应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2228498.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu系统安装软件

在Linux系统中有四种软件安装方式:rpm、yum、apt、编译安装 编译安装 编译安装只有一个源码包,源码包是由一大堆源代码程序组成的,是由程序员按照特定格式和语法编写好了,现成的安装包 程序:未执行的代码 进程&#…

Halcon 多相机统一坐标系(标定)

多相机统一坐标系是指将多个不同位置的相机的图像采集到同一个坐标系下进行处理和分析的方法。 在计算机视觉和机器视觉领域中,多相机统一坐标系被广泛应用于三维重建、立体视觉、目标跟踪等任务中。 以gen_binocular_rectification_map(生成描述图像映…

【libGL error】Autodl云服务器配置ACT的conda虚拟环境生成训练数据时,遇到了libGL相关错误,涉及swrast_dri.so

问题与解决方案 1. libGL error: MESA-LOADER: failed to open iris conda install -c conda-forge libstdcxx-ng来源suffix _dri 下面的问题是在Autodl云服务器上运行程序是出现的,在Ubuntu笔记本上安装的Anaconda没有出现以下问题。 Autodl云服务器安装的是Mi…

逆变器竞品分析--绿联150W方案【2024/10/30】

绿联这款车载逆变器具备两个AC输出插座,支持150W输出功率。1A1C快充接口支持30W输出功率,可以同时为四台设备供电。逆变器采用车充输入供电,自带1.3米输入线,逆变器内置数显屏幕,能够实时显示工作状态,时刻…

LeetCode 热题 100之链表3

1.k个一组翻转链表 思路分析:我们需要将链表分成若干个长度为 k 的子链表组,逐组进行翻转。若最后一组节点的数量不足 k,则保持原有顺序 创建一个虚拟头节点 dummy,以简化边界条件的处理。该节点的 next 指向链表的头节点。通过 d…

Redis慢查询分析优化

文章目录 一、定义二、慢查询参数配置三、慢查询日志四、排查步骤五、Redis变慢原因 一、定义 在Redis执行时耗时超过某个阈值的命令,称为慢查询。 慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间&…

接口自动化测试平台项目环境搭建

这篇文章主要记录开发接口自动化测试平台的尝试作---环境搭建和写一个项目管理模型。 电脑需要有python环境,且已经安装了django,我用的是python3.12 和 django 最新版本。写代码我使用的pycharm。 其中环境搭建大概分下面几步: 一、在代码…

Oracle OCP认证考试考点详解082系列06

题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 26. 第26题: 题目 解析及答案: 关于间隔(INTERVAL)数据类型,以下哪两个陈述是…

python的数据结构列表方法及扩展(栈和队列)

python的数据结构 python的list方法 list.append() 添加一个元素到列表末尾。list,append(num)相当于a[len(a):] [num] a [1,2,3,4,5] a.append(6) print(a) a[len(a):] [7] print(a)list.extend() 添加指定列表的所有元素。list.extend(nums)相当于a a nums a [1,2,3]…

highcharts的datalabels标签格式化

Highcharts的数据标签格式化 代码如下 plotOptions: {series: {dataLabels: {enabled: true,format: {y:.2f} mm}} },y就是当前数据点的值,.2f代表2位小数,效果如下图

如何安装自动化测试工具katalon?

一、下载,最下面有免费的版本 Katalon Studio 免费下载 |卡塔隆 二、安装 第一次安装,需要输入注册信息,注册成功之后,就可以使用了。

从简单的demo开始让您逐步了解GetX的用法

目录 前言 一、从demo开始体现下Getx的用法 二、从最简单的功能开始 1.新建一个Flutter工程 2.GetX初体验 1.路由跳转 1.普通路由跳转 2.跳转并从堆栈中销毁当前页面 3.跳转并销毁之前所有页面 4.跳转以及传值 2.更方便的实现SnackBar、Dialog、BottomSheet 三、Ge…

【无标题】从网红长沙看背后的湘菜产业

“吃什么?” 相信这是每一个来长沙旅游的人,面临的第一个问题。 近年来,长沙以美食为媒介,成功吸引了无数游客的目光。而湘菜,作为湖南最具特色的美食名片,无疑在这场美食盛宴中占据了举足轻重的地位。 …

使用 Qt 实现自定义罗盘控件

用 Qt 编写一个简单的罗盘控件,该控件能够动态显示方向。该控件实现了一个带有北(N)和南(S)标记的圆形罗盘面盘,具有可以根据输入角度旋转的指针。 代码功能概述 该项目定义了一个 CompassWidget 类&…

算法|牛客网华为机试21-30C++

牛客网华为机试 上篇:算法|牛客网华为机试10-20C 文章目录 HJ21 简单密码HJ22 汽水瓶HJ23 删除字符串中出现次数最少的字符HJ24 合唱队HJ25 数据分类处理HJ26 字符串排序HJ27 查找兄弟单词HJ28 素数伴侣HJ29 字符串加解密HJ30 字符串合并处理 HJ21 简单密码 题目描…

使用 MMDetection 实现 Pascal VOC 数据集的目标检测项目练习(二) ubuntu的下载安装

首先,Linux系统是人工智能和深度学习首选系统。原因如下: 开放性和自由度:Linux 是一个开源操作系统,允许开发者自由修改和分发代码。这在开发和研究阶段非常有用,因为开发者可以轻松地访问和修改底层代码。社区支持:…

【ECMAScript标准】深入解析ES5:现代JavaScript的基石

🧑‍💼 一名茫茫大海中沉浮的小小程序员🍬 👉 你的一键四连 (关注 点赞收藏评论)是我更新的最大动力❤️! 📑 目录 🔽 前言1️⃣ ES5的概述2️⃣ ES5的关键特性3️⃣ ES5与之前版本的区别4️⃣ …

【万户软件-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

第2章 Android App开发基础

第 2 章 Android App开发基础 bilibili学习地址 github代码地址 本章介绍基于Android系统的App开发常识,包括以下几个方面:App开发与其他软件开发有什么不一 样,App工程是怎样的组织结构又是怎样配置的,App开发的前后端分离设计…