Datasets documentation

استكشاف الأخطاء وإصلاحها

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

استكشاف الأخطاء وإصلاحها

تهدف هذه الدليل إلى تزويدك بالأدوات والمعرفة اللازمة للتعامل مع بعض المشكلات الشائعة. إذا لم تغطِّ الاقتراحات المدرجة في هذا الدليل حالتك، فيرجى الرجوع إلى قسم طلب المساعدة لمعرفة أين تجد المساعدة لمشكلتك المحددة.

مشاكل عند رفع مجموعات البيانات باستخدام push_to_hub

مشكلات المصادقة

إذا كنت تواجه مشاكل في المصادقة عند مشاركة مجموعة بيانات على 🤗 Hub باستخدام Dataset.push_to_hub() ورمز وصول Hugging Face:

  • تأكد من أن رمز Hugging Face الذي تستخدمه للمصادقة هو رمز يتمتع بصلاح write.
  • على نظام OSX، قد يساعدك في الأمر تنظيف جميع كلمات مرور huggingface.co في keychain access، بالإضافة إلى إعادة تكوين git config --global credential.helper osxkeychain، قبل استخدام hf auth login.

بديلًا عن ذلك، يمكنك استخدام مفاتيح SSH للمصادقة - اقرأ المزيد في وثائق 🤗 Hub.

فقدان الاتصال أثناء رفع مجموعة بيانات كبيرة

عند رفع مجموعات بيانات كبيرة إلى Hub، إذا كان عدد شards مجموعة البيانات كبيراً، فقد يؤدي ذلك إلى إنشاء عدد مفرط من عمليات commit لـ Hub في فترة زمنية قصيرة. سيؤدي هذا إلى حدوث خطأ في الاتصال. يمكن أن يكون سبب خطأ الاتصال أيضاً هو خطأ HTTP 500 الذي يعيده حاوية AWS S3 التي يستخدمها Hub داخلياً. في أي من الحالتين، يمكنك إعادة تشغيل Dataset.push_to_hub() للمتابعة في رفع مجموعة البيانات. سيقوم Hub بفحص قيم SHA للشards التي تم رفعها بالفعل لتجنب إعادة رفعها. نحن نعمل على جعل عملية الرفع أكثر مقاومة للأخطاء العابرة، لذا فإن التحديث إلى أحدث إصدار من المكتبة فكرة جيدة دائماً.

طلبات كثيرة جداً

قد يؤدي رفع مجموعات بيانات كبيرة عبر push_to_hub() إلى ظهور خطأ:

HfHubHTTPError: 429 Client Error: Too Many Requests for url: ...
You have exceeded our hourly quotas for action: commit. We invite you to retry later.

إذا واجهت هذه المشكلة، فأنت بحاجة إلى ترقية مكتبة datasets إلى أحدث إصدار (أو على الأقل 2.15.0).

المشكلات عند إنشاء مجموعات بيانات من بيانات مخصصة

تحميل الصور والصوت من مجلد

عند إنشاء مجموعة بيانات من مجلد، يُعد أحد أكثر المشكلات شيوعًا عدم اتباع بنية الملفات للتنسيق المتوقع، أو وجود مشكلة في ملف البيانات الوصفية.

تعرف على المزيد حول هيكل المجلدات المطلوب في صفحات التوثيق المقابلة:

مشاكل التقطيع

مشاكل التخليل عند استخدام Dataset.from_generator

When creating a dataset, IterableDataset.from_generator() and Dataset.from_generator() expect a “picklable” generator function. This is required to hash the function using pickle to be able to cache the dataset on disk.

على الرغم من أن دوال المولّدات قابلة عادةً للتسلسل (picklable)، إلا أن كائنات المولّدات ليست كذلك. لذا إذا كنت تستخدم كائن مولّد، فستواجه خطأً من نوع TypeError على النحو التالي:

TypeError: cannot pickle 'generator' object

يمكن أن يحدث هذا الخطأ أيضًا عند استخدام دالة مولِّد تستخدم كائنًا عامًا غير قابل للتسلسل (غير "picklable")، مثل اتصال قاعدة بيانات، على سبيل المثال. إذا كان هذا هو الحال، يمكنك تهيئة مثل هذا الكائن مباشرة داخل دالة المولِّد لتجنب هذا الخطأ.

مشاكل التخليل مع Dataset.map

يمكن أن تحدث أخطاء في التخليل (Pickling) أيضاً في Dataset.map() متعددة العمليات - حيث يتم تخليط الكائنات لتُمرَّر إلى العمليات الفرعية. إذا لم تكن الكائنات المستخدمة في التحويل قابلة للتخليل، فلا يمكن تخزين نتيجة map مؤقتاً، مما يؤدي إلى رفع خطأ.

إليك بعض الطرق لمعالجة هذه المشكلة:

  • الحل الشامل لمشكلات التخليل هو التأكد من إمكانية تخليل الكائنات (أو فئات المولّدات) يدوياً من خلال تنفيذ __getstate__ / __setstate__ / __reduce__.
  • يمكنك أيضًا تقديم تجزئة فريدة خاصة بك في map باستخدام الحجة new_fingerprint.
  • يمكنك أيضًا تعطيل التخزين المؤقت عن طريق استدعاء datasets.disable_caching()، ومع ذلك، فإن هذا غير مرغوب فيه - اقرأ المزيد حول أهمية التخزين المؤقت

طلب المساعدة

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

منتديات

اطلب المساعدة في منتديات Hugging Face - انشر سؤالك في فئة 🤗Datasets تأكد من كتابة منشور وصفي مع سياق ذي صلة بإعدادك ورمز قابل لإعادة الإنتاج لتعظيم احتمالية حل مشكلتك!

Discord

انشر سؤالك على Discord ودع الفريق والمجتمع يساعدانك.

مناقشات المجتمع على 🤗 Hub

إذا كنت تواجه مشاكل في إنشاء مجموعة بيانات مخصصة على Hub، يمكنك طلب مساعدة من فريق Hugging Face من خلال فتح نقاش في تبويب Community الخاص بمجموعة بياناتك مع هذه الرسالة:

# Dataset rewiew request for <Dataset name>

## Description

<brief description of the dataset>

## Files to review

- file1
- file2
- ...

cc @lhoestq @albertvillanova

مشكلات GitHub

أخيرًا، إذا كنتَ تشك في أنك اكتشفت خطأً برمجيًا يتعلق بالمكتبة نفسها، فأنشئ مشكلة (Issue) في مستودع GitHub الخاص بـ 🤗 Datasets. تضمّن سياقًا متعلقًا بالخطأ: مقتطف كود لإعادة إنتاجه، وتفاصيل حول بيئتك وبياناتك، وما إلى ذلك، لمساعدتنا على تحديد ما هو خاطئ وكيفية إصلاحه.

Update on GitHub