Hub documentation
Menggunakan 🧨 diffusers di Hugging Face
Menggunakan 🧨 diffusers di Hugging Face
Diffusers adalah pustaka utama untuk model difusi pra-terlatih terkini untuk menghasilkan gambar, audio, dan bahkan struktur 3D molekul. Baik Anda mencari solusi inferensi sederhana atau ingin melatih model difusi Anda sendiri, Diffusers adalah kotak perkakas modular yang mendukung keduanya. Pustaka ini dirancang dengan fokus pada kegunaan di atas kinerja, kesederhanaan di atas kemudahan, dan kemampuan kustomisasi di atas abstraksi.
Menjelajahi Diffusers di Hub
Terdapat lebih dari 10.000 pipeline yang kompatibel dengan diffusers di Hub, yang dapat Anda temukan dengan memfilter di bagian kiri halaman model. Sistem difusi umumnya terdiri dari beberapa komponen seperti text encoder, UNet, VAE, dan scheduler. Meskipun bukan model mandiri, abstraksi pipeline memudahkan penggunaan komponen tersebut untuk inferensi atau pelatihan.
Anda dapat menemukan pipeline difusi untuk berbagai tugas yang berbeda:
- Membuat gambar dari prompt teks bahasa alami (text-to-image).
- Mentransformasi gambar menggunakan prompt teks bahasa alami (image-to-image).
- Membuat video dari deskripsi bahasa alami (text-to-video).
Anda dapat mencoba model-model tersebut langsung di browser jika ingin mengujinya tanpa mengunduhnya, berkat widget di dalam browser!

File repositori Diffusers
Repositori model Diffusers berisi semua sub-komponen model yang diperlukan, seperti variational autoencoder untuk meng-encode gambar dan meng-decode latents, text encoder, model transformer, dan lainnya. Sub-komponen ini diorganisasikan ke dalam tata letak multi-folder.

Setiap subfolder berisi bobot dan konfigurasi - jika berlaku - untuk setiap komponen, mirip dengan model Transformers.
Bobot biasanya disimpan sebagai file safetensors dan konfigurasinya biasanya berupa file json yang berisi informasi tentang arsitektur model.
Menggunakan pipeline yang sudah ada
Semua pipeline diffusers siap digunakan! Untuk menjalankan generasi, kami merekomendasikan untuk selalu memulai dari DiffusionPipeline:
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0")Jika Anda ingin memuat komponen pipeline tertentu seperti UNet, Anda dapat melakukannya dengan cara:
from diffusers import UNet2DConditionModel
unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet")Berbagi pipeline dan model Anda
Semua kelas pipeline, kelas model, dan kelas scheduler sepenuhnya kompatibel dengan Hub. Secara lebih spesifik, kelas-kelas ini dapat dimuat dengan mudah dari Hub menggunakan metode from_pretrained() dan dapat dibagikan kepada orang lain menggunakan metode push_to_hub().
Untuk detail lebih lanjut, silakan periksa dokumentasi.