Diffusers documentation

إنشاء مجموعة بيانات للتدريب

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

إنشاء مجموعة بيانات للتدريب

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

ستُظهر لك هذه الدليل طريقتين لإنشاء مجموعة بيانات للتعديل الدقيق عليها:

  • توفير مجلد من الصور إلى معامل --train_data_dir
  • ارفع مجموعة بيانات إلى Hub ثم مرر معرّف مستودع مجموعة البيانات إلى معامل --dataset_name

💡 تعرّف على المزيد حول كيفية إنشاء مجموعة بيانات للصور للتدريب في دليل إنشاء مجموعة بيانات للصور.

تقديم مجموعة بيانات على شكل مجلد

للتوليد غير الشرطي، يمكنك تقديم مجموعة بياناتك الخاصة على شكل مجلد من الصور. يستخدم سكربت التدريب منشئ ImageFolder من 🤗 Datasets لبناء مجموعة بيانات تلقائياً من المجلد. يجب أن يبدو هيكل المجلد الخاص بك على النحو التالي:

data_dir/xxx.png
data_dir/xxy.png
data_dir/[...]/xxz.png

مرّر المسار إلى مجلد مجموعة البيانات إلى الحجة --train_data_dir، ثم يمكنك بدء التدريب:

accelerate launch train_unconditional.py \
    --train_data_dir <path-to-train-directory> \
    <other-arguments>

ارفع بياناتك إلى Hub

💡 لمزيد من التفاصيل والسياق حول إنشاء مجموعة بيانات ورفعها إلى Hub، اطّلع على منشور البحث في الصور باستخدام 🤗 Datasets.

ابدأ بإنشاء مجموعة بيانات باستخدام ميزة ImageFolder، والتي تنشئ عمود image يحتوي على الصور المُرمّزة بواسطة PIL.

يمكنك استخدام معلمات data_dir أو data_files لتحديد موقع مجموعة البيانات. تدعم معلمة data_files تعيين ملفات محددة إلى تقسيمات مجموعة البيانات مثل train أو test:

from datasets import load_dataset

# example 1: local folder
dataset = load_dataset("imagefolder", data_dir="path_to_your_folder")

# example 2: local files (supported formats are tar, gzip, zip, xz, rar, zstd)
dataset = load_dataset("imagefolder", data_files="path_to_zip_file")

# example 3: remote files (supported formats are tar, gzip, zip, xz, rar, zstd)
dataset = load_dataset(
    "imagefolder",
    data_files="https://download.microsoft.com/download/3/E/1/3E1C3F21-ECDB-4869-8368-6DEBA77B919F/kagglecatsanddogs_3367a.zip",
)

# example 4: providing several splits
dataset = load_dataset(
    "imagefolder", data_files={"train": ["path/to/file1", "path/to/file2"], "test": ["path/to/file3", "path/to/file4"]}
)

ثم استخدم طريقة push_to_hub لرفع مجموعة البيانات إلى Hub:

# assuming you have ran the hf auth login command in a terminal
dataset.push_to_hub("name_of_your_dataset")

# if you want to push to a private repo, simply pass private=True:
dataset.push_to_hub("name_of_your_dataset", private=True)

الآن أصبح مجموعة البيانات متاحة للتدريب عن طريق تمرير اسم مجموعة البيانات إلى معامل --dataset_name:

accelerate launch --mixed_precision="fp16"  train_text_to_image.py \
  --pretrained_model_name_or_path="stable-diffusion-v1-5/stable-diffusion-v1-5" \
  --dataset_name="name_of_your_dataset" \
  <other-arguments>

الخطوات التالية

الآن بعد أن أنشأت مجموعة بيانات، يمكنك إدخالها في حجة train_data_dir (إذا كانت مجموعة البيانات محلية) أو dataset_name (إذا كانت مجموعة البيانات على Hub) في سكربت التدريب.

كخطوات تالية، لا تتردد في تجربة استخدام مجموعة بياناتك لتدريب نموذج على التوليد غير الشرطي أو توليد الصور من النص!

Update on GitHub