ورقة | مشروع
هذا تطبيق غير رسمي للوحة: نماذج نشر الصورة إلى الصورة من قبل Pytorch ، ويرثت بشكل أساسي من النسخة الفائقة الدقة الخاصة بها-إعادة الدقة-الدقة-التهدئة. قالب الكود من مشروع البذور الخاص بي: موزع بيتورش توك.
هناك بعض تفاصيل التنفيذ مع أوصاف الورق:
Guided-Diffusion ، والتي تعطي دفعة كبيرة لعينة الجودة.DDPM .Palette وتضمينها مع تحول Affine.Palette . أحاول إنهاء المهام التالية بالترتيب:
تجربة المتابعة غير مؤكدة ، بسبب قلة الوقت وموارد GPU:
يتطلب نموذج DDPM موارد حسابية كبيرة ، وقد قمنا فقط ببناء بعض النماذج على سبيل المثال للتحقق من صحة الأفكار في هذه الورقة.
النتائج مع 200 عصر وتكرار 930K ، وأول 100 عينة في القناع المركز وقناع غير منتظم.
![]() | ![]() |
|---|
النتائج مع 16 عصر وتكرار 660 ألف ، والعديد من العينات التي اختارت في القناع المركزي.
![]() | ![]() | ![]() | ![]() |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
النتائج مع 8 عصر وتكرار 330k ، والعديد من العينات التي اختارت في غير متكافئة.
![]() | ![]() |
|---|
| المهام | مجموعة البيانات | ema | FID (-) | هو (+) |
|---|---|---|---|---|
| inpainting مع قناع تركز | Celeba-HQ | خطأ شنيع | 5.7873 | 3.0705 |
| inpainting مع قناع غير منتظم | Celeba-HQ | خطأ شنيع | 5.4026 | 3.1221 |
pip install - r requirements . txt| مجموعة البيانات | مهمة | التكرارات | GPUS × أيام × BS | عنوان URL |
|---|---|---|---|---|
| Celeba-HQ | inpainting | 930k | 2 × 5 × 3 | محرك Google |
| الأماكن 2 | inpainting | 660K | 4 × 8 × 10 | محرك Google |
يشير BS إلى حجم العينة لكل وحدة معالجة الرسومات.
نحصل على معظمهم من Kaggle ، والتي قد تكون مختلفة قليلاً عن الإصدار الرسمي ، ويمكنك أيضًا تنزيلها من موقع الويب الرسمي.
نستخدم التقسيم الافتراضي لمجموعات البيانات هذه للتدريب والتقييم. يمكن العثور على قوائم الملفات التي نستخدمها في Celeba-HQ ، الأماكن 2.
بعد إعداد البيانات الخاصة ، تحتاج إلى تعديل ملف التكوين المقابل للإشارة إلى بياناتك. خذ ما يلي كمثال:
" which_dataset " : { // import designated dataset using arguments
" name " : ["data.dataset", "InpaintDataset"], // import Dataset() class
" args " :{ // arguments to initialize dataset
" data_root " : " your data path " ,
" data_len " : -1,
" mask_mode " : " hybrid "
}
}, يمكن أيضًا العثور على مزيد من الخيارات حول Dataloader و Distalding Split في datasets جزء من ملف تكوين.
resume_state من ملف تكوين إلى دليل نقطة التفتيش السابقة. خذ ما يلي كمثال ، يحتوي هذا الدليل على حالات تدريب ونموذج محفوظ: " path " : { //set every part file path
" resume_state " : "experiments/inpainting_celebahq_220426_150122/checkpoint/100"
},load_everything من model.py . اتبع إعدادات البرنامج التعليمي ، وسيتم تحميل الأمثل والموديلات من 100.state و 100_network.pth على التوالي. netG_label = self . netG . __class__ . __name__
self . load_network ( network = self . netG , network_label = netG_label , strict = False ) python run . py - p train - c config / inpainting_celebahq . json نحن نختبر العمود الفقري U-Net المستخدم في SR3 Guided Diffusion ، ونشره Guided Diffusion أحد الأداء الأكثر قوة في تجاربنا الحالية. يمكن العثور على مزيد من الخيارات حول العمود الفقري والخسارة والمقياس في جزء من ملف which_networks .
python run . py - p test - c config / inpainting_celebahq . jsonقم بإنشاء مجلدين لتوفير صور الحقيقة الأرضية وعينة الصور ، ويجب أن تتوافق أسماء الملفات مع بعضها البعض.
قم بتشغيل البرنامج النصي:
python eval . py - s [ ground image path ] - d [ sample image path ]يعتمد عملنا على الأعمال النظرية التالية:
ونحن نستفيد كثيرًا من المشاريع التالية: