Hub documentation

Menggunakan 🧨 diffusers di Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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:

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.

Sumber daya tambahan

Update on GitHub