Hub 文档
FiftyOne
并获得增强的文档体验
开始使用
FiftyOne
FiftyOne 是一个开源工具包,用于管理、可视化和管理非结构化视觉数据。该库简化了以数据为中心的工作流程,从查找低置信度预测到识别低质量样本,再到发现数据中的隐藏模式。该库支持各种视觉数据,从图像和视频到 PDF、点云和网格。
FiftyOne 容纳对象检测、关键点、折线和自定义模式。
FiftyOne 与 Hugging Face Hub 集成,因此您可以直接从 Hub 加载和共享 FiftyOne 数据集。
🚀 在 Colab 中试用 FiftyOne 🤝 Hugging Face 集成!
先决条件
huggingface-cli login
确保您已安装 fiftyone>=0.24.0
pip install -U fiftyone
从 Hub 加载视觉数据集
使用 FiftyOne 的 Hugging Face utils 中的 load_from_hub()
,您可以加载
- 任何上传到 hub 的 FiftyOne 数据集
- 大多数存储在 Parquet 文件中的基于图像的数据集(这是通过
datasets
库上传到 hub 的数据集的标准)
从 Hub 加载 FiftyOne 数据集
任何以 FiftyOne 的支持的常见格式之一推送到 hub 的数据集,都应该在其在 hub 上的数据集仓库中包含所有必要的配置信息,因此您可以通过指定其 repo_id
来加载数据集。 例如,要加载 VisDrone 检测数据集
import fiftyone as fo
from fiftyone.utils import load_from_hub
## load from the hub
dataset = load_from_hub("Voxel51/VisDrone2019-DET")
## visualize in app
session = fo.launch_app(dataset)
您可以自定义下载过程,包括要下载的样本数量、创建的数据集对象的名称,以及是否将其持久化到磁盘。
您可以使用以下命令列出 Hub 上所有可用的 FiftyOne 数据集
from huggingface_hub import HfApi
api = HfApi()
api.list_datasets(tags="fiftyone")
使用 FiftyOne 从 Hub 加载 Parquet 数据集
您还可以使用 load_from_hub()
函数从 Parquet 文件加载数据集。 类型转换将为您处理,如有必要,图像将从 URL 下载。
通过此功能,您可以加载 以下任何内容
- 与 FiftyOne 兼容的图像分类数据集,例如 Food101 和 ImageNet-Sketch
- 与 FiftyOne 兼容的对象检测数据集,例如 CPPE-5 和 WIDER FACE
- 与 FiftyOne 兼容的分割数据集,例如 SceneParse150 和 Sidewalk Semantic
- 与 FiftyOne 兼容的图像字幕数据集,例如 COYO-700M 和 New Yorker Caption Contest
- 与 FiftyOne 兼容的视觉问答数据集,例如 TextVQA 和 ScienceQA
例如,我们可以使用以下命令将 WikiArt 数据集 的前 1,000 个样本加载到 FiftyOne 中
import fiftyone as fo
from fiftyone.utils.huggingface import load_from_hub
dataset = load_from_hub(
"huggan/wikiart", ## repo_id
format="parquet", ## for Parquet format
classification_fields=["artist", "style", "genre"], ## columns to treat as classification labels
max_samples=1000, # number of samples to load
name="wikiart", # name of the dataset in FiftyOne
)
将 FiftyOne 数据集推送到 Hub
您可以使用以下命令将数据集推送到 hub
import fiftyone as fo
import fiftyone.zoo as foz
from fiftyone.utils.huggingface import push_to_hub
## load example dataset
dataset = foz.load_zoo_dataset("quickstart")
## push to hub
push_to_hub(dataset, "my-hf-dataset")
当您调用 push_to_hub()
时,数据集将上传到指定仓库名称下的仓库中,仓库将在必要时创建。 将自动生成数据集卡片,并填充从 hub 加载数据集的说明。 您可以上传缩略图图像/gif,以使用 preview_path
参数显示在数据集卡片上。
这是一个使用许多这些参数的示例,它会将 FiftyOne 的 Quickstart Video 数据集的前三个样本上传到私有仓库 username/my-quickstart-video-dataset
,并带有标签、MIT 许可证、描述和预览图像
dataset = foz.load_from_zoo("quickstart-video", max_samples=3)
push_to_hub(
dataset,
"my-quickstart-video-dataset",
tags=["video", "tracking"],
license="mit",
description="A dataset of video samples for tracking tasks",
private=True,
preview_path="<path/to/preview.png>"
)
📚 资源
- 🚀 代码实践 Colab Notebook
- 🗺️ FiftyOne 数据集用户指南
- 🤗 FiftyOne 🤝 Hub 集成文档
- 🤗 FiftyOne 🤝 Transformers 集成文档
- 🧩 FiftyOne Hugging Face Hub 插件