Repositori berisi demonstrasi sederhana berbasis PyTorch tentang model difusi denoising. Ini hanya bertujuan untuk memberikan pemahaman pertama tentang pendekatan pemodelan generatif ini.
Pengantar teoretis singkat tentang DDPM standar dapat ditemukan di sini. DDIM untuk pengambilan sampel yang dipercepat dibahas dalam buku catatan pendamping. Dua contoh aplikasi membuat taman bermain eksperimen kecil. Mereka dipersiapkan sedemikian rupa sehingga dapat dengan mudah dimodifikasi dan diperluas.
Pengantar DDPM
Pengantar DDIM
Contoh gulungan Swiss
Model tanpa syarat pada MNIST
Model bersyarat pada MNIST
Sebagai contoh pertama, DDPM generatif dilatih tentang distribusi gulungan Swiss 2D. Skrip pelatihan utama dapat dipanggil untuk tujuan itu dengan file konfigurasi yang memungkinkan seseorang untuk menyesuaikan pengaturan masalah dan definisi model:
python scripts/main.py fit --config config/swissroll.yaml
Setelah pelatihan selesai, model akhir dapat diuji dan dianalisis di notebook ini.
Untuk memantau eksperimen, seseorang dapat menjalankan server TensorBoard secara lokal dengan tensorboard --logdir run/swissroll/
. Itu dapat dijangkau di bawah localhost:6006 secara default di browser Anda. Sebagai alternatif, seseorang dapat menggunakan MLfLow untuk mengelola eksperimen. Dalam hal ini, seseorang dapat meluncurkan pelatihan dengan pengaturan yang sesuai dan menyiapkan server pelacakan dengan mlflow server --backend-store-uri file:./run/mlruns/
. Itu kemudian dapat dijangkau di bawah localhost:5000.