Hub documentation

FiftyOne

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

FiftyOne

FiftyOne هو مجموعة أدوات مفتوحة المصدر لتنظيم البيانات البصرية غير المهيكلة وعرضها وإدارتها. تُسهّل المكتبة سير العمل الذي يركّز على البيانات، بدءًا من العثور على التنبؤات منخفضة الثقة، مرورًا بتحديد العينات ذات الجودة المنخفضة، وصولًا إلى كشف الأنماط الخفية في بياناتك. تدعم المكتبة جميع أنواع البيانات البصرية، من الصور والفيديوهات إلى ملفات PDF وسحب النقاط والشبكات.

يستوعب FiftyOne اكتشافات الكائنات ونقاط المفاصل والخطوط المتعددة والمخططات المخصصة.

يتكامل FiftyOne مع Hugging Face Hub بحيث يمكنك تحميل مجموعات بيانات FiftyOne ومشاركتها مباشرةً من Hub.

🚀 جرّب تكامل FiftyOne 🤝 Hugging Face في Colab!

المتطلبات

أولاً سجّل الدخول بحساب Hugging Face الخاص بك:

hf auth login

تأكد من تثبيت fiftyone>=0.24.0 :

pip install -U fiftyone

تحميل مجموعات البيانات البصرية من المستودع

باستخدام load_from_hub() من أدوات Hugging Face في FiftyOne، يمكنك تحميل:

  • أي مجموعة بيانات FiftyOne تم رفعها إلى المستودع
  • معظم مجموعات البيانات المعتمدة على الصور والمخزنة في ملفات Parquet (وهي المعيار لمجموعات البيانات المرفوعة إلى المستودع عبر مكتبة datasets)

تحميل مجموعات بيانات FiftyOne من Hub

يجب أن تحتوي أي مجموعة بيانات مُرسلة إلى المستودع بصيغة واحدة من الصيغ الشائعة المدعومة في FiftyOne على جميع معلومات التهيئة اللازمة في مستودع مجموعة البيانات الخاص بها على المستودع، بحيث يمكنك تحميل مجموعة البيانات عن طريق تحديد 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)

FiftyOne VisDrone dataset

يمكنك تخصيص عملية التنزيل، بما في ذلك عدد العينات المراد تنزيلها، واسم كائن مجموعة البيانات المُنشأة، أو ما إذا كانت محفوظة على القرص أم لا.

يمكنك سرد جميع مجموعات بيانات FiftyOne المتاحة على Hub باستخدام:

from huggingface_hub import HfApi
api = HfApi()
api.list_datasets(tags="fiftyone")

تحميل مجموعات بيانات Parquet من Hub باستخدام FiftyOne

يمكنك أيضًا استخدام دالة load_from_hub() لتحميل مجموعات البيانات من ملفات Parquet. يتم التعامل مع تحويلات الأنواع نيابةً عنك، وتُحمَّل الصور من عناوين URL عند الحاجة.

بفضل هذه الميزة، يمكنك تحميل أي مما يلي:

كمثال، يمكننا تحميل أول 1,000 عينة من مجموعة بيانات WikiArt في 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
)

WikiArt Dataset

دفع مجموعات بيانات FiftyOne إلى 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()، سيتم رفع مجموعة البيانات إلى المستودع باسم المستودع المحدد تحت اسم المستخدم الخاص بك، وسيتم إنشاء المستودع إذا لزم الأمر. سيتم توليد بطاقة مجموعة البيانات تلقائيًا وتعبئتها بتعليمات لتحميل مجموعة البيانات من المركز. يمكنك رفع صورة مصغرة أو ملف gif للظهور على بطاقة مجموعة البيانات باستخدام الحجة preview_path.

فيما يلي مثال يستخدم العديد من هذه الحجج، والذي سيؤدي إلى رفع أول ثلاثة عينات من مجموعة بيانات Quickstart Video الخاصة بـ FiftyOne إلى المستودع الخاص 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>"
)

📚 الموارد

Update on GitHub