Hub documentation
FiftyOne
FiftyOne
FiftyOne là một bộ công cụ mã nguồn mở để tuyển chọn, trực quan hóa và quản lý dữ liệu thị giác không cấu trúc. Thư viện này tối ưu hóa các quy trình làm việc tập trung vào dữ liệu, từ việc tìm các dự đoán có độ tin cậy thấp đến xác định các mẫu có chất lượng kém và khám phá các mẫu hình ẩn trong dữ liệu của bạn. Thư viện hỗ trợ mọi loại dữ liệu thị giác, từ hình ảnh và video đến PDF, đám mây điểm và lưới.
FiftyOne hỗ trợ phát hiện đối tượng, điểm then chốt, đường đa đoạn và các schema tùy chỉnh.
FiftyOne được tích hợp với Hugging Face Hub để bạn có thể tải và chia sẻ các bộ dữ liệu FiftyOne trực tiếp từ Hub.
🚀 Thử nghiệm tích hợp FiftyOne 🤝 Hugging Face trên Colab!
Yêu cầu tiên quyết
Trước tiên đăng nhập bằng tài khoản Hugging Face của bạn:
hf auth login
Hãy đảm bảo bạn đã cài đặt fiftyone>=0.24.0:
pip install -U fiftyone
Tải bộ dữ liệu thị giác từ Hub
Với load_from_hub() từ tiện ích Hugging Face của FiftyOne, bạn có thể tải:
- Bất kỳ dataset FiftyOne nào được tải lên hub
- Hầu hết các bộ dữ liệu dựa trên hình ảnh được lưu trữ trong các tệp Parquet (đây là tiêu chuẩn cho các bộ dữ liệu được tải lên hub thông qua thư viện
datasets)
Tải bộ dữ liệu FiftyOne từ Hub
Bất kỳ dataset nào được đẩy lên hub ở một trong các định dạng phổ biến được hỗ trợ của FiftyOne đều phải có đầy đủ thông tin cấu hình cần thiết trong kho dataset của nó trên hub, vì vậy bạn có thể tải dataset bằng cách chỉ định repo_id của nó. Ví dụ, để tải dataset phát hiện 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)
Bạn có thể tùy chỉnh quy trình tải xuống, bao gồm số lượng mẫu cần tải xuống, tên của đối tượng dataset được tạo ra, hoặc việc có lưu trữ nó xuống đĩa hay không.
Bạn có thể liệt kê tất cả các bộ dữ liệu FiftyOne có sẵn trên Hub bằng cách sử dụng:
from huggingface_hub import HfApi
api = HfApi()
api.list_datasets(tags="fiftyone")Tải Datasets Parquet từ Hub bằng FiftyOne
Bạn cũng có thể sử dụng hàm load_from_hub() để tải các bộ dữ liệu từ các tệp Parquet. Việc chuyển đổi kiểu dữ liệu sẽ được xử lý tự động, và hình ảnh sẽ được tải xuống từ URL nếu cần.
Với tính năng này, bạn có thể tải bất kỳ mục nào sau đây:
- Các bộ dữ liệu phân loại ảnh tương thích với FiftyOne, chẳng hạn như Food101 và ImageNet-Sketch
- Các bộ dữ liệu phát hiện đối tượng tương thích với FiftyOne như CPPE-5 và WIDER FACE
- Các bộ dữ liệu phân đoạn tương thích với FiftyOne như SceneParse150 và Sidewalk Semantic
- Các bộ dữ liệu chú thích ảnh tương thích với FiftyOne như COYO-700M và New Yorker Caption Contest
- Các bộ dữ liệu hỏi đáp thị giác tương thích với FiftyOne như TextVQA và ScienceQA
Ví dụ, chúng ta có thể nạp 1.000 mẫu đầu tiên từ dataset WikiArt vào FiftyOne bằng cách:
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
)
Đẩy Datasets FiftyOne lên Hub
Bạn có thể đẩy một tập dữ liệu lên hub bằng cách:
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")Khi bạn gọi push_to_hub(), dataset sẽ được tải lên repo với tên repo đã chỉ định dưới tên người dùng của bạn, và repo sẽ được tạo nếu cần. Một Dataset Card sẽ được tự động tạo và điền các hướng dẫn để tải dataset từ hub. Bạn có thể tải lên một hình ảnh/gif thumbnail để hiển thị trên Dataset Card bằng đối số preview_path.
Dưới đây là một ví dụ sử dụng nhiều đối số này, sẽ tải lên kho riêng username/my-quickstart-video-dataset ba mẫu đầu tiên của bộ dữ liệu Quickstart Video của FiftyOne, kèm theo các thẻ, giấy phép MIT, mô tả và hình ảnh xem trước:
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>"
)📚 Tài nguyên
- 🚀 Notebook Colab Code-Along
- 🗺️ Hướng dẫn sử dụng FiftyOne Datasets
- 🤗 Tài liệu tích hợp FiftyOne 🤝 Hub
- 🤗 Tài liệu tích hợp FiftyOne 🤝 Transformers
- 🧩 FiftyOne Hugging Face Hub Plugin