File: search.md

package info (click to toggle)
huggingface-hub 0.31.1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 5,092 kB
  • sloc: python: 40,321; makefile: 54
file content (58 lines) | stat: -rw-r--r-- 1,996 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!--⚠️ 请注意,此文件是 Markdown 格式,但包含我们文档构建器的特定语法(类似于 MDX),可能无法在您的 Markdown 查看器中正确渲染。
-->

# 搜索 Hub

在本教程中,您将学习如何使用 `huggingface_hub` 在 Hub 上搜索模型、数据集和Spaces。

## 如何列出仓库?

`huggingface_hub`库包括一个 HTTP 客户端 [`HfApi`],用于与 Hub 交互。 除此之外,它还可以列出存储在 Hub 上的模型、数据集和Spaces:

```py
>>> from huggingface_hub import HfApi
>>> api = HfApi()
>>> models = api.list_models()
```

[`list_models`] 返回一个迭代器,包含存储在 Hub 上的模型。

同样,您可以使用 [`list_datasets`] 列出数据集,使用 [`list_spaces`] 列出 Spaces。

## 如何过滤仓库?

列出仓库是一个好开始,但现在您可能希望对搜索结果进行过滤。
列出时,可以使用多个属性来过滤结果,例如:
- `filter`
- `author`
- `search`
- ...

让我们看一个示例,获取所有在 Hub 上进行图像分类的模型,这些模型已在 imagenet 数据集上训练,并使用 PyTorch 运行。

```py
models = hf_api.list_models(
	task="image-classification",
	library="pytorch",
	trained_dataset="imagenet",
)
```

在过滤时,您还可以对模型进行排序,并仅获取前几个结果。例如,以下示例获取了 Hub 上下载量最多的前 5 个数据集:

```py
>>> list(list_datasets(sort="downloads", direction=-1, limit=5))
[DatasetInfo(
	id='argilla/databricks-dolly-15k-curated-en',
	author='argilla',
	sha='4dcd1dedbe148307a833c931b21ca456a1fc4281',
	last_modified=datetime.datetime(2023, 10, 2, 12, 32, 53, tzinfo=datetime.timezone.utc),
	private=False,
	downloads=8889377,
	(...)
```



如果您想要在Hub上探索可用的过滤器, 请在浏览器中访问 [models](https://huggingface.co/models) 和 [datasets](https://huggingface.co/datasets) 页面
,尝试不同的参数并查看URL中的值。