يحتوي المستودع على عرض توضيحي بسيط قائم على PyTorch لنماذج انتشار تقليل الضوضاء. إنه يهدف فقط إلى توفير الفهم الأول لنهج النمذجة التوليدية هذا.
يمكن العثور هنا على مقدمة نظرية قصيرة لـ DDPMs القياسية. تمت مناقشة وحدات DDIM لأخذ العينات السريعة في دفتر الملاحظات المصاحب. مثالان للتطبيقان ينشئان ملعبًا صغيرًا للتجارب. لقد تم إعدادها بطريقة يمكن تعديلها وتوسيعها بسهولة.
مقدمة إلى DDPMs
مقدمة إلى DDIMs
مثال سويس رول
نموذج غير مشروط على MNIST
النموذج الشرطي على MNIST
كمثال أول، يتم تدريب DDPM التوليدي على توزيع سويس رول ثنائي الأبعاد. يمكن استدعاء البرنامج النصي للتدريب الرئيسي لتحقيق هذه الغاية باستخدام ملف التكوين الذي يسمح للشخص بضبط إعداد المشكلة وتعريف النموذج:
python scripts/main.py fit --config config/swissroll.yaml
بعد انتهاء التدريب، يمكن اختبار النموذج النهائي وتحليله في هذا الدفتر.
لمراقبة التجربة، يمكن تشغيل خادم TensorBoard محليًا عن طريق tensorboard --logdir run/swissroll/
. يمكن الوصول إليه ضمن المضيف المحلي:6006 افتراضيًا في متصفحك. وكبديل، يمكن للمرء استخدام MLfLow لإدارة التجارب. في هذه الحالة، يمكن للمرء بدء التدريب بالإعدادات المناسبة وإعداد خادم التتبع عن طريق mlflow server --backend-store-uri file:./run/mlruns/
. ويمكن بعد ذلك الوصول إليه ضمن المضيف المحلي: 5000.