Navigasi ayat uni dari model difusi dengan alur kerja uni fied.

Unidiffusion adalah kotak alat yang menyediakan pelatihan canggih dan algoritma inferensi, berdasarkan diffuser. Unidiffusion ditujukan untuk para peneliti dan pengguna yang ingin menyesuaikan pelatihan difusi yang stabil. Kami berharap repositori kode ini dapat memberikan dukungan yang sangat baik untuk ekstensi penelitian dan aplikasi di masa depan.
Jika Anda juga ingin menerapkan hal -hal berikut, bersenang -senanglah dengan Unidiffusion
cross attention (atau convolution / feedforward / ...).lr / weight decay / ... untuk lapisan yang berbeda.Catatan: Unidiffusion masih dalam pengembangan. Beberapa modul dipinjam dari repositori kode lain dan belum diuji, terutama komponen yang tidak diaktifkan secara default dalam sistem konfigurasi. Kami bekerja keras untuk meningkatkan proyek ini.
Dalam Unidiffusion, semua metode pelatihan didekomposisi menjadi tiga dimensi
Ini memungkinkan kami melakukan pipa pelatihan terpadu dengan sistem konfigurasi yang kuat.
Ini adalah contoh sederhana. Dalam Diffusers, melatih text-to-image finetune dan dreambooth seperti:
python train_dreambooth.py --arg ......
python train_finetune.py --arg ......dan menggabungkan atau menyesuaikan beberapa metode itu sulit (misalnya, hanya melatih perhatian silang selama Dreambooth).
Di Unidiffusion, kami dapat dengan mudah merancang argumen pelatihan kami sendiri dalam file config:
# text-to-image finetune
unet . training_args = { '' : { 'mode' : 'finetune' }}
# text-to-image finetune with lora
unet . training_args = { '' : { 'mode' : 'lora' }}
# update cross attention with lora
unet . training_args = { 'attn2' : { 'mode' : 'lora' }}
# dreambooth
unet . training_args = { '' : { 'mode' : 'finetune' }}
text_encoder . training_args = { 'text_embedding' : { 'initial' : True }}
# dreambooth with small lr for text-encoder
unet . training_args = { '' : { 'mode' : 'finetune' }}
text_encoder . training_args = { 'text_embedding' : { 'initial' : True , 'optim_kwargs' : { 'lr' : 1e-6 }}}dan kemudian lari
accelerate launch scripts/train.py --config-file /path/to/your/configIni memfasilitasi kustomisasi, kombinasi, dan peningkatan metode yang lebih mudah, dan juga memungkinkan untuk perbandingan persamaan dan perbedaan antara metode melalui file konfigurasi.
Di Unidiffusion, kami menyediakan sistem pencocokan reguler untuk pemilihan modul. Ini memungkinkan kami untuk memilih modul dengan pencocokan reguler. Lihat pencocokan reguler untuk pemilihan modul untuk detail lebih lanjut.
Kami memberikan dukungan yang kuat untuk metode PEFT/PETL. Lihat metode PEFT/PETL untuk lebih jelasnya.
pip install -e requirements.txtaccelerate config
wandb loginLihat Kereta Inversi Tekstual / Dreambooth / Lora / Text-to-Image Finetune untuk detailnya.
accelerate launch scrits/common.py --config-file configs/train/text_to_image_finetune.pyCATATAN: Metode personalisasi terurai dalam parameter yang dapat dilatih, metode PEFT/PETL, dan proses pelatihan di Unidiffusion. Lihat file konfigurasi untuk detail lebih lanjut.
Kami akan menambahkan fitur -fitur berikut di masa mendatang. Kami juga menyambut kontribusi dari komunitas. Jangan ragu untuk menarik permintaan atau membuka masalah untuk membahas ide -ide untuk fitur baru.
Kami menyambut kontribusi dari komunitas open-source!
Jika Anda menggunakan kotak alat ini dalam penelitian Anda atau ingin merujuk ke hasil dasar yang diterbitkan di sini, silakan gunakan entri Bibtex berikut:
@misc { pu2022diffusion ,
author = { Pu Cao, Tianrui Huang, Lu Yang, Qing Song } ,
title = { UniDiffusion } ,
howpublished = { url{https://github.com/PRIV-Creation/UniDiffusion} } ,
year = { 2023 }
}