Hub documentation
الإعداد اليدوي
الإعداد اليدوي
ستُظهر لك هذه الدليل كيفية تكوين بنية مخصصة لمستودع مجموعة البيانات الخاصة بك. تُبرز المجموعة المصاحبة من مجموعات البيانات الأمثلة كل قسم من التوثيق.
يتميز مجموعة بيانات ذات بنية مدعومة وصيغ ملفات تلقائيًا بمشغل مجموعات البيانات في صفحة المجموعة على Hub. يمكنك استخدام YAML لتعريف التقسيمات والفرعية ومعاملات الباني التي يستخدمها المشغل.
كما يمكن تحديد عدة مجموعات فرعية (تُسمى أيضاً «إعدادات») لنفس مجموعة البيانات (على سبيل المثال، إذا كانت مجموعة البيانات تحتوي على ملفات مستقلة متنوعة).
التقسيمات
إذا كان لديك عدة ملفات وتريد تحديد الملف الذي ينتمي إلى كل تقسيم، يمكنك استخدام YAML في أعلى ملف README.md.
على سبيل المثال، عند وجود مستودع كهذا:
my_dataset_repository/
├── README.md
├── data.csv
└── holdout.csvيمكنك تحديد مجموعة فرعية لتقسيماتك عن طريق إضافة حقل configs في كتلة YAML في أعلى ملف README.md الخاص بك:
---
configs:
- config_name: default
data_files:
- split: train
path: "data.csv"
- split: test
path: "holdout.csv"
---يمكنك تحديد ملفات متعددة لكل تقسيم باستخدام قائمة من المسارات:
my_dataset_repository/
├── README.md
├── data/
│ ├── abc.csv
│ └── def.csv
└── holdout/
└── ghi.csv---
configs:
- config_name: default
data_files:
- split: train
path:
- "data/abc.csv"
- "data/def.csv"
- split: test
path: "holdout/ghi.csv"
---أو يمكنك استخدام أنماط glob لتجميع جميع الملفات التي تحتاجها تلقائيًا:
---
configs:
- config_name: default
data_files:
- split: train
path: "data/*.csv"
- split: test
path: "holdout/*.csv"
---لاحظ أن حقل
config_nameمطلوب حتى لو كان لديك مجموعة فرعية واحدة فقط.
تعدد المجموعات الفرعية
قد يحتوي مجموعة بياناتك على عدة مجموعات فرعية من البيانات التي تريد أن تكون قادرًا على استخدامها بشكل منفصل. على سبيل المثال، لكل مجموعة فرعية قائمة منسدلة خاصة بها في عارض مجموعات البيانات على Hugging Face Hub.
في هذه الحالة يمكنك تحديد قائمة من المجموعات الفرعية داخل حقل configs في ملف YAML:
my_dataset_repository/
├── README.md
├── main_data.csv
└── additional_data.csv---
configs:
- config_name: main_data
data_files: "main_data.csv"
- config_name: additional_data
data_files: "additional_data.csv"
---لاحظ أن ترتيب المجموعات الفرعية المعروضة في العارض هو الترتيب الافتراضي أولاً، ثم الترتيب الأبجدي.
يمكنك تعيين مجموعة فرعية افتراضية باستخدام
default: true- config_name: main_data data_files: "main_data.csv" default: trueيُفيد هذا في تحديد المجموعة الفرعية التي يعرضها عارض البيانات (Dataset Viewer) أولاً، والمجموعة الفرعية التي تُحمّلها مكتبات البيانات افتراضيًا.
مجلد البيانات
بدلاً من سرد الملفات الفردية باستخدام data_files، يمكنك استخدام data_dir للإشارة إلى مجلد. يتم تحديد الملفات داخل ذلك المجلد تلقائيًا بناءً على امتدادات الملفات. وهذا مفيد بشكل خاص عندما تكون بياناتك منظمة في مجلدات فرعية:
على سبيل المثال، في حالة كهذه، يمكنك ببساطة استخدام data_dir لأن بيانات كل مجموعة فرعية موجودة في مجلد خاص بها:
my_dataset_repository/
├── README.md
├── main/
│ ├── train.csv
│ └── test.csv
└── extra/
├── train.csv
└── test.csv---
configs:
- config_name: main
data_dir: "main"
- config_name: extra
data_dir: "extra"
---عند تعيين data_dir، يحلّ الباني الملفات نسبةً إلى ذلك المجلد. إذا احتوى المجلد على ملفات تطابق نمط تسمية التقسيمات الافتراضي (مثل train.csv، test.csv)، تُسند التقسيمات تلقائيًا دون الحاجة إلى تحديد data_files صراحةً.
يمكنك أيضًا دمج data_dir مع data_files للحصول على مزيد من التحكم:
---
configs:
- config_name: default
data_dir: "data"
data_files:
- split: train
path: "training_*.csv"
- split: test
path: "eval_*.csv"
---في هذه الحالة، تُحلّ أنماط path في data_files نسبةً إلى data_dir.
معاملات المُنشئ
يمكن تمرير معاملات أخرى خاصة بالبناء عبر YAML إلى جانب data_files، مما يتيح مرونة أكبر في كيفية تحميل البيانات دون الحاجة إلى أي مخصصات مخصصة. على سبيل المثال، حدد الفاصل الذي يجب استخدامه في أي مجموعة فرعية لتحميل ملفات csv الخاصة بك:
---
configs:
- config_name: tab
data_files: "main_data.csv"
sep: "\t"
- config_name: comma
data_files: "additional_data.csv"
sep: ","
---راجع توثيق المُنشئين المحددين لمعرفة المعلمات التي يمتلكونها.
Update on GitHub