Diffusers documentation
Buat dataset untuk pelatihan
Buat dataset untuk pelatihan
Terdapat banyak dataset di Hub untuk melatih model, tetapi jika Anda tidak menemukan dataset yang Anda minati atau ingin menggunakan dataset Anda sendiri, Anda dapat membuat dataset dengan pustaka 🤗 Datasets. Struktur dataset bergantung pada tugas yang ingin Anda latih pada model Anda. Struktur dataset paling dasar adalah direktori berisi gambar untuk tugas seperti generasi gambar tanpa syarat. Struktur dataset lainnya mungkin berupa direktori berisi gambar dan file teks yang berisi caption teks yang sesuai untuk tugas seperti generasi gambar dari teks.
Panduan ini akan menunjukkan dua cara untuk membuat dataset untuk finetuning:
- menyediakan folder berisi gambar ke argumen
--train_data_dir - unggah dataset ke Hub dan lewati id repositori dataset ke argumen
--dataset_name
💡 Pelajari lebih lanjut tentang cara membuat dataset gambar untuk pelatihan dalam panduan Membuat dataset gambar.
Sediakan dataset sebagai folder
Untuk generasi tanpa syarat, Anda dapat menyediakan dataset Anda sendiri sebagai folder berisi gambar. Skrip pelatihan menggunakan builder ImageFolder dari 🤗 Datasets untuk secara otomatis membangun dataset dari folder tersebut. Struktur direktori Anda harus seperti ini:
data_dir/xxx.png data_dir/xxy.png data_dir/[...]/xxz.png
Lewatkan path ke direktori dataset ke argumen --train_data_dir, lalu Anda dapat memulai pelatihan:
accelerate launch train_unconditional.py \
--train_data_dir <path-to-train-directory> \
<other-arguments>Unggah data Anda ke Hub
💡 Untuk detail dan konteks lebih lanjut tentang membuat dan mengunggah dataset ke Hub, lihat postingan Image search with 🤗 Datasets.
Mulai dengan membuat dataset menggunakan fitur ImageFolder, yang membuat kolom image berisi gambar yang dikodekan PIL.
Anda dapat menggunakan parameter data_dir atau data_files untuk menentukan lokasi dataset. Parameter data_files mendukung pemetaan file tertentu ke split dataset seperti train atau 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"]}
)Lalu gunakan metode push_to_hub untuk mengunggah dataset ke 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)Sekarang dataset tersedia untuk pelatihan dengan meneruskan nama dataset ke argumen --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>Langkah selanjutnya
Sekarang setelah Anda membuat dataset, Anda dapat memasukkannya ke dalam argumen train_data_dir (jika dataset Anda bersifat lokal) atau dataset_name (jika dataset Anda ada di Hub) dari skrip pelatihan.
Untuk langkah selanjutnya, silakan coba gunakan dataset Anda untuk melatih model untuk generasi tanpa syarat atau generasi teks-ke-gambar!
Update on GitHub