1. 其他教程
  2. 使用视觉变换器进行图像分类

相关空间:

使用视觉变换器进行图像分类

介绍

图像分类是计算机视觉中的核心任务。构建更好的分类器来识别图片中的物体是一个活跃的研究领域,因为它有着从面部识别到制造质量控制的应用。

最先进的图像分类器基于transformers架构,最初在NLP任务中流行。这种架构通常被称为视觉变换器(ViT)。这些模型非常适合与Gradio的image输入组件一起使用,因此在本教程中,我们将使用Gradio构建一个用于图像分类的Web演示。我们将能够用一行Python代码构建整个Web应用程序,并且它将看起来像页面底部的演示。

让我们开始吧!

先决条件

确保你已经安装gradio Python包。

第一步 — 选择视觉图像分类模型

首先,我们需要一个图像分类模型。在本教程中,我们将使用来自Hugging Face Model Hub的模型。该中心包含数千个模型,涵盖数十种不同的机器学习任务。

展开左侧边栏中的任务类别,并选择“图像分类”作为我们感兴趣的任务。然后,您将看到Hub上所有设计用于分类图像的模型。

在撰写本文时,最受欢迎的是google/vit-base-patch16-224,它已经在分辨率为224x224像素的ImageNet图像上进行了训练。我们将使用这个模型进行演示。

步骤2 — 使用Gradio加载视觉变换器模型

当使用来自 Hugging Face Hub 的模型时,我们不需要为演示定义输入或输出组件。同样,我们也不需要关心预处理或后处理的细节。所有这些都会自动从模型标签中推断出来。

除了import语句外,只需一行Python代码即可加载并启动演示。

我们使用gr.Interface.load()方法并传入模型的路径,包括huggingface/,以指定它来自Hugging Face Hub。

import gradio as gr

gr.Interface.load(
             "huggingface/google/vit-base-patch16-224",
             examples=["alligator.jpg", "laptop.jpg"]).launch()

请注意,我们添加了一个额外的参数,examples,它允许我们用一些预定义的示例预先填充我们的接口。

这将生成以下界面,您可以直接在浏览器中尝试。当您输入一张图片时,它会自动进行预处理并发送到Hugging Face Hub API,在那里通过模型处理并返回一个人类可理解的预测结果。尝试上传您自己的图片吧!


你已经完成了!只需一行代码,你就为图像分类器构建了一个网页演示。如果你想与他人分享,尝试在launch()接口时设置share=True