Hub documentation

تنزيل مجموعات البيانات

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

تنزيل مجموعات البيانات

المكتبات المتكاملة

إذا كان مجموعة بيانات على Hub مرتبطة بـ مكتبة مدعومة، فيمكن تحميل مجموعة البيانات في بضع سطور فقط. للحصول على معلومات حول الوصول إلى مجموعة البيانات، يمكنك النقر على زر “Use this dataset” في صفحة مجموعة البيانات لمعرفة كيفية القيام بذلك. على سبيل المثال، يُظهر samsum كيفية القيام بذلك باستخدام datasets أدناه.

استخدام مكتبة عميل Hugging Face

يمكنك استخدام مكتبة huggingface_hub لإنشاء المستودعات وحذفها وتحديثها واسترجاع المعلومات منها. على سبيل المثال، لتنزيل مجموعة بيانات HuggingFaceH4/ultrachat_200k من سطر الأوامر، قم بتشغيل

hf download HuggingFaceH4/ultrachat_200k --repo-type dataset

راجع توثيق تنزيل HF CLI لمزيد من المعلومات.

يمكنك أيضًا دمج هذا في مكتبتك الخاصة! على سبيل المثال، يمكنك تحميل مجموعة بيانات بصيغة CSV بسرعة باستخدام بضعة أسطر من Pandas.

from huggingface_hub import hf_hub_download
import pandas as pd

REPO_ID = "YOUR_REPO_ID"
FILENAME = "data.csv"

dataset = pd.read_csv(
    hf_hub_download(repo_id=REPO_ID, filename=FILENAME, repo_type="dataset")
)

استخدام Git

بما أن جميع مجموعات البيانات على Hub هي مستودعات Git مدعومة بتقنية Xet، يمكنك استنساخ مجموعات البيانات محليًا من خلال تثبيت git-xet وتشغيل الأمر التالي:

git xet install
git lfs install
git clone git@hf.co:datasets/<dataset ID> # example: git clone git@hf.co:datasets/allenai/c4

إذا كان لديك صلاحية الكتابة في مستودع مجموعة البيانات المعني، فستتمتع أيضاً بالقدرة على الالتزام بدفع المراجعات إلى مجموعة البيانات.

أضِف مفتاح SSH العام إلى إعدادات المستخدم لديك لدفع التغييرات و/أو للوصول إلى المستودعات الخاصة.

تنزيلات أسرع

يمكنك اختبار سرعة التنزيل من شبكة توزيع المحتوى (CDN) الخاصة بـ Hugging Face عبر fast.hf.co. يقوم هذا الاختبار بإجراء فحص سريع لعرض النطاق الترددي مقابل أقرب خادم طرفي لـ HF، مما يساعدك على فهم معدل الإرسال الأساسي لديك. كما يمكنك قياس سرعة التنزيل من الطرفية باستخدام امتداد سطر الأوامر hf-speedtest:

hf extensions install julien-c/hf-speedtest
hf speedtest

لتنفيذ عمليات نقل أسرع، يستخدم خادم التخزين Xet في Hub تقنية التزامن التكيفي التي تضبط تدفقات التوازي تلقائيًا بناءً على ظروف الشبكة. راجع تنزيلات أسرع للنماذج للاطلاع على تفاصيل خيارات الضبط مثل HF_XET_HIGH_PERFORMANCE=1.

باستخدام hf-mount

للمجموعات البيانات الكبيرة، يمكنك تركيب مستودع كنظام ملفات محلي باستخدام hf-mount بدلاً من تنزيل المستودع كاملاً. يتم جلب الملفات بشكل كسول — حيث تصل إلى الشبكة فقط البايتات التي يقرؤها كودك. يكون هذا مفيداً عندما يتوقع سير عملك مسارات ملفات محلية (مثل tarfile، zipfile، imagefolder) بدلاً من مُكررات بايثون.

brew install hf-mount
hf-mount start repo datasets/stanfordnlp/imdb /tmp/imdb

تُركَّب المستودعات للقراءة فقط. راجع التركيب كنظام ملفات محلي للحصول على تفاصيل الإعداد الكاملة وخيارات الخلفية والتخزين المؤقت.

التحميل خلف وكيل أو جدار حماية

إذا كان شبكتك تقيد حركة المرور الصادرة عبر جدار حماية أو وكيل، فإن تنزيل مجموعات البيانات يتطلب أكثر من مجرد huggingface.co. تُقدَّم محتويات الملفات من أسماء مضيفات تخزين و CDN منفصلة، وسيفشل load_dataset / hf download إذا لم تكن هذه المضيفات قابلة للوصول، حتى لو كان huggingface.co نفسه مدرجًا في قائمة السماح.

اسمح بالمضيفين التاليين (عبر HTTPS / المنفذ 443):

اسم المضيفالغرض
huggingface.coواجهة برمجة تطبيقات Hub، البيانات الوصفية، وإعادة توجيه التنزيل
cas-server.xethub.hf.coواجهات برمجة تطبيقات بروتوكول Xet، التنزيل والرفع (الولايات المتحدة)
cas-server.xethub-eu.hf.coواجهات برمجة تطبيقات بروتوكول Xet، التنزيل والرفع (الاتحاد الأوروبي)
transfer.xethub.hf.coواجهات برمجة تطبيقات تنزيل تخزين Xet (الولايات المتحدة)
transfer.xethub-eu.hf.coواجهات برمجة تطبيقات تنزيل تخزين Xet (الاتحاد الأوروبي)
us.aws.cdn.hf.coحافة CDN (الولايات المتحدة)
us.gcp.cdn.hf.coحافة CDN (الولايات المتحدة)
cdn-lfs-us-1.hf.coLFS CDN (الولايات المتحدة)
cdn-lfs-eu-1.hf.coLFS CDN (أوروبا)

تتبع عمليات التحميل إعادة التوجيه عبر بروتوكول HTTP من huggingface.co إلى أسماء العُقد هذه، لذا فإن السماح بـhuggingface.co وحدها غير كافٍ. عادةً ما يعني ظهور خطأ ReadTimeoutError (بدلاً من خطأ اتصال) في منتصف عملية التحميل أن الاتصال الأولي نجح لكن عُقدة تخزين أو CDN محظورة.

يعتمد سلوك النطاقات البرية على طريقة مطابقة وكيلك للنطاقات. تعامل وكلاء المؤسسات الكثر مع إدراج في قائمة السماح كمطابقة لاحقة تغطي النطاقات الفرعية عند أي عمق. إذا كان وكيلك كذلك، فإن الخيار الأبسط هو إدراج اللاحقتين hf.co وhuggingface.co في قائمة السماح — فهما تغطيان كل نقاط نهاية التخزين وCDN الحالية والمستقبلية.

إذا كان وكيلك يدعم فقط كواشف عامة بوسم واحد (حيث يطابق *.hf.co عنوان cdn-lfs-us-1.hf.co لكنه لا يطابق العناوين الأعمق مثل us.aws.cdn.hf.co أو cas-server.xethub.hf.co)، فأضف أسماء العُقد الصريحة المذكورة في الجدول أعلاه إلى قائمة السماح. لاحظ أن *.xethub.hf.co لا يغطي عُقد الاتحاد الأوروبي الموجودة تحت xethub-eu.hf.co، وأن *.cdn.hf.co لا يغطي العناوين ذات الوسمين us.aws.cdn.hf.co / us.gcp.cdn.hf.co.

قد تتغير هذه أسماء النطاقات مع تطور بنية التخزين وشبكة توزيع المحتوى لدينا. حيثما سمحت سياسة الأمان لديك، أضف لاحقتي hf.co وhuggingface.co (جميع النطاقات الفرعية) إلى قائمة السماح حتى لا تتعطل قواعدها عند تغيير نقطة نهاية محددة.

قائمة قابلة للقراءة آليًا

تُنشر أسماء النطاقات المذكورة أعلاه أيضًا بصيغة JSON في https://huggingface.co/.well-known/meta.json، لذا يمكنك توليد قواعد الوكيل أو جدار الحماية منها بدلاً من نسخ الجدول يدويًا.

يتغيّر الملف مع إضافة نقاط النهاية وإزالتها. استحضره عند بناء قواعلك بدلاً من تثبيت نسخة منه.

Update on GitHub