”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用 Gradio 制作一个很酷的应用程序!

如何使用 Gradio 制作一个很酷的应用程序!

发布于2024-11-02
浏览:835

How to Make a Cool App with Gradio!

嘿,我的程序员们!我带着与平常不同的内容回来了。今天我们要学习Gradio!制作帮助人们与计算机对话的应用程序就像魔法一样。

现在您可能在想这个渐变是什么?

什么是Gradio?

将 gradio 想象成制作应用程序的魔杖。想象一下,你有一个宠物机器人,你想问它问题或给它看图片,它就会回答你! Gradio 帮助您构建一个界面,您可以在其中输入内容或给出图片,并且计算机可以响应它。

您无需了解很多有关编码的知识即可开始。它非常基本且易于使用。让我们看看如何使用它!

第 1 步:设置音阶

开始之前,我们需要告诉计算机安装Gradio。

  1. 打开您的终端。

  2. 在终端中输入:

pip 安装渐变[&​​&&]

此命令将帮助您安装 gradio 并为您进行设置。 现在您已准备好创建应用程序了!

第 2 步:创建一个超级简单的应用程序

让我们制作我们的第一个应用程序!在此应用程序中,计算机会询问您的姓名,然后计算机会向您问好。听起来很有趣吧?

编写此代码:

将渐变导入为 gr

def 问候(姓名):

返回“你好,”名字“!”

iface = gr.Interface(fn=greet, 输入=“文本”, 输出=“文本”)

iface.launch()

现在您一定在想这段代码中发生了什么,让我们来分解一下:

  1. import gradio as gr:这就像说计算机使用gradio来制作应用程序。

  2. defgreet(name):这是询问您姓名的函数,并将返回您的 Hello 和您的姓名。

  3. iface = gr.Interface(fn=greet,inputs="text",outputs="text"):这部分告诉 gradio 如何构建应用程序。它将接受一些文本作为输入并返回文本作为输出。

  4. iface.launch():这有助于我们启动应用程序。

现在运行您的代码,您将看到一个可以在其中写下您的名字的框,计算机将向您打招呼。是不是很酷,尝试输入你的名字。

第三步:用图片让它变得更有趣!

让我们通过添加图片让应用程序变得更酷!在此,我们将向计算机显示一些图片并告诉计算机识别它。

我们将使用已经知道许多动物长什么样的机器学习模型。

写下这段代码:

将渐变导入为 gr

从tensorflow.keras.applications.resnet50导入ResNet50,decode_predictions,preprocess_input
从tensorflow.keras.preprocessing导入图像
将 numpy 导入为 np

模型 = ResNet50(weights="imagenet")

defclassify_image(img):

img = image.img_to_array(img)
img = np.expand_dims(img, 轴=0)
img = preprocess_input(img)
preds = model.predict(img)
返回解码预测(preds,top=1)[0][0][1]

iface = gr.Interface(fn=classify_image, 输入=“图像”, 输出=“标签”)

iface.launch()

让我们分解这段代码,以更好地理解其功能:

  1. 加载模型:我们正在上传ResNet50作为我们计算机的大脑,这有助于计算机猜测你的图片中的内容。

  2. classify_image: 该函数获取图像并猜测它看到的内容。

  3. inputs="image": 现在我们的应用程序要求输入图片而不是文本。

现在您可以运行代码,上传图片并让计算机猜测。您可以上传其中的任何内容。

第 4 步:与朋友分享您的应用程序!

现在您已经制作了一个很酷的应用程序,现在让我们与您的网络和朋友分享它。 Gradio 为您提供了一个可以与世界上任何人分享的特殊链接,使这一切变得超级简单!

具体操作方法如下:

将代码的最后部分更改为:

iface.launch(share=True)

当您运行此代码时,Gradio 将为您提供一个链接,您可以将其发送给您的朋友。他们可以在浏览器中打开链接并使用您的应用程序,就像您一样!

第五步:添加更多有趣的功能

您可以按照您想要的方式自定义您的渐变应用程序,让我们看看一些让您的应用程序更有趣的方法:

  1. 更改标题和描述
您可以为您的应用提供良好的标题和描述,以使其更具交互性。

iface = gr.Interface(

fn=分类图像,
输入=“图像”,
输出=“标签”,
title="动物分类器",
描述=“上传图片,我猜猜是什么动物!”
)
iface.launch()

现在您的应用程序看起来更酷了,它现在有名称和描述,这使它看起来更专业。

2.

使用更多输入和输出

如果你想给计算机更多信息怎么办?也许您想向其显示图片并输入一些文本,Gradio 也可以处理!

以下是如何制作一个同时使用图像和文本作为输入的应用程序:

iface = gr.Interface(

fn=分类图像,
输入=[“图像”,“文本”],
输出=“标签”
)
iface.launch()

现在您的应用程序将同时获取图像和一些文本。就像您的计算机变得更聪明一样!

结论

哇!您刚刚学习了如何使用 Gradio 制作炫酷的应用程序!您可以使用它制作很多应用程序,它使编码变得非常有趣。您可以在这里探索更多相关信息。

我希望您喜欢这个博客,如果您喜欢,请不要忘记在 Linkedin 和 Github 上关注我。来吧,我也值得一些名气,如果你不这样做,请在评论中批评我。

快乐编码!!

版本声明 本文转载于:https://dev.to/abhinav_yadav_554cab962bb/how-to-make-a-cool-app-with-gradio-3kgl?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • Python元类工作原理及类创建与定制
    Python元类工作原理及类创建与定制
    python中的metaclasses是什么? Metaclasses负责在Python中创建类对象。就像类创建实例一样,元类也创建类。他们提供了对类创建过程的控制层,允许自定义类行为和属性。在Python中理解类作为对象的概念,类是描述用于创建新实例或对象的蓝图的对象。这意味着类本身是使用类关...
    编程 发布于2025-05-21
  • 如何有效地转换PHP中的时区?
    如何有效地转换PHP中的时区?
    在PHP 利用dateTime对象和functions DateTime对象及其相应的功能别名为时区转换提供方便的方法。例如: //定义用户的时区 date_default_timezone_set('欧洲/伦敦'); //创建DateTime对象 $ dateTime = ne...
    编程 发布于2025-05-21
  • 如何将多种用户类型(学生,老师和管理员)重定向到Firebase应用中的各自活动?
    如何将多种用户类型(学生,老师和管理员)重定向到Firebase应用中的各自活动?
    Red: How to Redirect Multiple User Types to Respective ActivitiesUnderstanding the ProblemIn a Firebase-based voting app with three distinct user type...
    编程 发布于2025-05-21
  • 如何从PHP中的数组中提取随机元素?
    如何从PHP中的数组中提取随机元素?
    从阵列中的随机选择,可以轻松从数组中获取随机项目。考虑以下数组:; 从此数组中检索一个随机项目,利用array_rand( array_rand()函数从数组返回一个随机键。通过将$项目数组索引使用此键,我们可以从数组中访问一个随机元素。这种方法为选择随机项目提供了一种直接且可靠的方法。
    编程 发布于2025-05-21
  • Spark DataFrame添加常量列的妙招
    Spark DataFrame添加常量列的妙招
    在Spark Dataframe ,将常数列添加到Spark DataFrame,该列具有适用于所有行的任意值的Spark DataFrame,可以通过多种方式实现。使用文字值(SPARK 1.3)在尝试提供直接值时,用于此问题时,旨在为此目的的column方法可能会导致错误。 df.withco...
    编程 发布于2025-05-21
  • C++20 Consteval函数中模板参数能否依赖于函数参数?
    C++20 Consteval函数中模板参数能否依赖于函数参数?
    [ consteval函数和模板参数依赖于函数参数在C 17中,模板参数不能依赖一个函数参数,因为编译器仍然需要对非contexexpr futcoriations contim at contexpr function进行评估。 compile time。 C 20引入恒定函数,必须在编译时进行...
    编程 发布于2025-05-21
  • Python中嵌套函数与闭包的区别是什么
    Python中嵌套函数与闭包的区别是什么
    嵌套函数与python 在python中的嵌套函数不被考虑闭合,因为它们不符合以下要求:不访问局部范围scliables to incling scliables在封装范围外执行范围的局部范围。 make_printer(msg): DEF打印机(): 打印(味精) ...
    编程 发布于2025-05-21
  • 为什么在我的Linux服务器上安装Archive_Zip后,我找不到“ class \” class \'ziparchive \'错误?
    为什么在我的Linux服务器上安装Archive_Zip后,我找不到“ class \” class \'ziparchive \'错误?
    Class 'ZipArchive' Not Found Error While Installing Archive_Zip on Linux ServerSymptom:When attempting to run a script that utilizes the ZipAr...
    编程 发布于2025-05-21
  • Async Void vs. Async Task在ASP.NET中:为什么Async Void方法有时会抛出异常?
    Async Void vs. Async Task在ASP.NET中:为什么Async Void方法有时会抛出异常?
    在ASP.NET async void void async void void void void void的设计无需返回asynchroncon而无需返回任务对象。他们在执行过程中增加未偿还操作的计数,并在完成后减少。在某些情况下,这种行为可能是有益的,例如未期望或明确预期操作结果的火灾和...
    编程 发布于2025-05-21
  • Java开发者如何保护数据库凭证免受反编译?
    Java开发者如何保护数据库凭证免受反编译?
    在java 在单独的配置文件保护数据库凭证的最有效方法中存储凭据是将它们存储在单独的配置文件中。该文件可以在运行时加载,从而使登录数据从编译的二进制文件中远离。使用prevereness class import java.util.prefs.preferences; 公共类示例{ 首选项...
    编程 发布于2025-05-21
  • HTML格式标签
    HTML格式标签
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    编程 发布于2025-05-21
  • 如何在php中使用卷发发送原始帖子请求?
    如何在php中使用卷发发送原始帖子请求?
    如何使用php 创建请求来发送原始帖子请求,开始使用curl_init()开始初始化curl session。然后,配置以下选项: curlopt_url:请求 [要发送的原始数据指定内容类型,为原始的帖子请求指定身体的内容类型很重要。在这种情况下,它是文本/平原。要执行此操作,请使用包含以下标头...
    编程 发布于2025-05-21
  • 如何在其容器中为DIV创建平滑的左右CSS动画?
    如何在其容器中为DIV创建平滑的左右CSS动画?
    通用CSS动画,用于左右运动 ,我们将探索创建一个通用的CSS动画,以向左和右移动DIV,从而到达其容器的边缘。该动画可以应用于具有绝对定位的任何div,无论其未知长度如何。问题:使用左直接导致瞬时消失 更加流畅的解决方案:混合转换和左 [并实现平稳的,线性的运动,我们介绍了线性的转换。这...
    编程 发布于2025-05-21
  • 大批
    大批
    [2 数组是对象,因此它们在JS中也具有方法。 切片(开始):在新数组中提取部分数组,而无需突变原始数组。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    编程 发布于2025-05-21
  • 如何在Java字符串中有效替换多个子字符串?
    如何在Java字符串中有效替换多个子字符串?
    在java 中有效地替换多个substring,需要在需要替换一个字符串中的多个substring的情况下,很容易求助于重复应用字符串的刺激力量。但是,对于大字符串或使用许多字符串时,这可能是降低的。 利用正则表达式Example UsageConsider a scenario where y...
    编程 发布于2025-05-21

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3