Hub documentation
FiftyOne
FiftyOne
FiftyOne adalah toolkit open-source untuk mengkurasi, memvisualisasikan, dan mengelola data visual tidak terstruktur. Perpustakaan ini menyederhanakan alur kerja yang berpusat pada data, mulai dari menemukan prediksi dengan keyakinan rendah hingga mengidentifikasi sampel berkualitas buruk dan mengungkap pola tersembunyi dalam data Anda. Perpustakaan ini mendukung berbagai jenis data visual, mulai dari gambar dan video hingga PDF, awan titik, dan mesh.
FiftyOne mengakomodasi deteksi objek, titik kunci, poligon, dan skema kustom.
FiftyOne terintegrasi dengan Hugging Face Hub sehingga Anda dapat memuat dan membagikan dataset FiftyOne langsung dari Hub.
π Coba Integrasi FiftyOne π€ Hugging Face di Colab!
Prasyarat
Pertama masuk dengan akun Hugging Face Anda:
hf auth login
Pastikan Anda telah menginstal fiftyone>=0.24.0:
pip install -U fiftyone
Memuat Dataset Visual dari Hub
Dengan load_from_hub() dari utilitas Hugging Face FiftyOne, Anda dapat memuat:
- Setiap dataset FiftyOne yang diunggah ke hub
- Sebagian besar dataset berbasis gambar yang disimpan dalam file Parquet (yang merupakan standar untuk dataset yang diunggah ke hub melalui pustaka
datasets)
Memuat dataset FiftyOne dari Hub
Setiap dataset yang diunggah ke hub dalam salah satu format umum yang didukung oleh FiftyOne harus memiliki semua informasi konfigurasi yang diperlukan di repo dataset-nya di hub, sehingga Anda dapat memuat dataset dengan menentukan repo_id-nya. Sebagai contoh, untuk memuat dataset deteksi 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)
Anda dapat menyesuaikan proses unduhan, termasuk jumlah sampel yang akan diunduh, nama objek dataset yang dibuat, atau apakah dataset tersebut disimpan ke disk atau tidak.
Anda dapat mendaftar semua dataset FiftyOne yang tersedia di Hub menggunakan:
from huggingface_hub import HfApi
api = HfApi()
api.list_datasets(tags="fiftyone")Memuat Dataset Parquet dari Hub dengan FiftyOne
Anda juga dapat menggunakan fungsi load_from_hub() untuk memuat dataset dari file Parquet. Konversi tipe ditangani untuk Anda, dan gambar diunduh dari URL jika diperlukan.
Dengan fungsionalitas ini, Anda dapat memuat salah satu dari berikut ini:
- Dataset Klasifikasi Gambar yang Kompatibel dengan FiftyOne, seperti Food101 dan ImageNet-Sketch
- Dataset Deteksi Objek yang Kompatibel dengan FiftyOne seperti CPPE-5 dan WIDER FACE
- Dataset Segmentasi yang Kompatibel dengan FiftyOne seperti SceneParse150 dan Sidewalk Semantic
- Dataset Captioning Gambar yang Kompatibel dengan FiftyOne seperti COYO-700M dan New Yorker Caption Contest
- Dataset Visual Question-Answering yang Kompatibel dengan FiftyOne seperti TextVQA dan ScienceQA
Sebagai contoh, kita dapat memuat 1.000 sampel pertama dari dataset WikiArt ke FiftyOne dengan:
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
)
Mendorong Dataset FiftyOne ke Hub
Anda dapat mendorong dataset ke hub dengan:
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")Saat Anda memanggil push_to_hub(), dataset akan diunggah ke repo dengan nama repo yang ditentukan di bawah nama pengguna Anda, dan repo akan dibuat jika diperlukan. Dataset Card akan dibuat secara otomatis dan diisi dengan instruksi untuk memuat dataset dari hub. Anda dapat mengunggah gambar/gif thumbnail untuk ditampilkan di Dataset Card dengan argumen preview_path.
Berikut adalah contoh yang menggunakan banyak argumen tersebut, yang akan mengunggah tiga sampel pertama dari dataset Quickstart Video FiftyOne ke repo privat username/my-quickstart-video-dataset dengan tag, lisensi MIT, deskripsi, dan gambar pratinjau:
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>"
)π Sumber daya
- π Notebook Colab Code-Along
- πΊοΈ Panduan Pengguna untuk Dataset FiftyOne
- π€ Dokumentasi Integrasi FiftyOne π€ Hub
- π€ Dokumentasi Integrasi FiftyOne π€ Transformers
- π§© Plugin FiftyOne Hugging Face Hub