Hugging Face 简介#
什么是 Hugging Face?#
Hugging Face 是人工智能开源社区中的一家重要企业。其官网提供了数据集、模型和“空间(Spaces)”等资源,并开发了多个核心库(主要包括 transformers、diffusers 和 datasets)。
为什么使用 Hugging Face? Hugging Face 提供了简化的方式来访问最先进的复杂模型,让用户能够快速高效地使用这些模型。此外,用户还可以通过网站上的“空间(Spaces)”类别测试模型,并下载社区提供的数据集。在某种程度上,它是深度学习领域的“GitHub”。
本课程将学习哪些内容?#
本课程的理论内容较少,但将带您探索高性能模型,并了解深度学习的最新能力。课程内容参考了 Hugging Face 官网 的资源,以及 deeplearning.ai 上的免费课程 “Open Source Models with Hugging Face”。建议您查阅该课程,其中涵盖了计算机视觉、音频和自然语言处理(NLP)等多个应用领域。
课程大纲:
介绍部分:介绍 Hugging Face 官网 及其三大核心板块:模型(Models)、数据集(Datasets) 和 空间(Spaces)。
后续三个笔记本:专注于
transformers库的使用:第一个笔记本介绍 视觉模型。
第二个笔记本介绍 自然语言处理(NLP)。
第三个笔记本介绍 音频模型。
扩散模型笔记本:介绍
diffusers库,用于使用扩散模型(如 Stable Diffusion)生成图像。最后一个笔记本:介绍 Gradio 库,用于快速创建模型演示的交互界面。
Hugging Face 官网#
空间(Spaces)#
空间(Spaces) 是最直观且易于上手的板块,汇集了各种模型的演示示例。
以下是其首页截图:

演示示例(Spaces)按用途和热度分类,您也可以使用“搜索空间(Search spaces)”功能查找特定模型进行测试。 建议您定期浏览不同的空间,以便及时了解深度学习领域的最新动态。
如果您自行训练了一个模型,可以通过“创建新空间(Create New Space)”工具免费分享。这需要掌握 Gradio 库的基础知识,我们将在本课程的最后一个笔记本中介绍。
模型(Models)#
有时,您想测试的模型在“空间(Spaces)”中没有提供,或者您希望在自己的代码中使用。此时,需要前往网站的 模型(Models) 板块。 该板块汇集了大量开源模型。
以下是其页面截图:

该页面包含丰富的信息。您可以通过“按名称筛选(Filter by name)”搜索特定模型, 也可以使用左侧的筛选器按类别查找模型。
例如,假设我想寻找一个“零样本目标检测(zero-shot object detection)”模型,该模型能够基于 提示(prompt) 在图像中检测任意对象。
什么是提示(Prompt)? 提示(Prompt)是指导模型执行任务的输入。在自然语言处理(NLP)中,提示通常是用户输入的文本。提示也可以是图像上的坐标(用于分割任务)、图像或视频。大多数情况下,提示指的是为模型输入添加的文本。 例如,在“零样本目标检测”中,如果我想在图像中检测香蕉,模型的输入将是图像和文本 “banana”。
为了找到合适的模型,我使用左侧筛选器选择“零样本目标检测(zero-shot object detection)”类别,并查看推荐的模型列表。

我选择了“IDEA-Research/grounding-dino-tiny”模型,进入其详情页面:

模型卡片(Model Card) 提供了模型的详细说明(如工作原理、功能等)。
要获取直接在 Python 中使用该模型的代码(通过 transformers 或 diffusers 库,取决于模型类型),可点击“使用该模型(Use this model)”按钮。
以下是该模型对应的示例代码:

在后续的笔记本中,我们将学习如何使用该代码完成具体任务。
数据集(Datasets)#
如果您希望训练自己的模型,则需要数据集。您可以选择自行创建,也可以使用 Hugging Face 上提供的众多开源数据集。
数据集(Datasets) 页面的布局与 模型(Models) 页面类似,同样支持筛选和搜索功能:

选择某个数据集后,将进入其详情页面:

与模型类似,数据集卡片(Dataset Card) 可查看数据集的内容和说明。要直接在 Python 中使用该数据集,可点击“在 Datasets 库中使用(Use in Datasets library)”获取对应的 Python 代码。
其他板块#
该网站的功能远不止于此,但本介绍并非全面概述。建议您自行探索网站,发现感兴趣的内容。 在后续的笔记本中,我们将概述 Hugging Face 支持的模型类型,并介绍如何在 Python 中使用它们。