هذا المشروع عبارة عن شبكة خصومة توليدية تلافيفية عميقة يمكنها إنشاء صور عالية الجودة من بذرة عشوائية مثل الصور الشخصية والحيوانات والرسومات والمزيد.
النموذج عبارة عن شبكة الخصومة التوليدية (GAN) كما هو موضح في ورقة شبكات الخصومة التوليدية من جامعة مونتريال (2014)
المولد والمميز كلاهما عبارة عن شبكات عصبية تلافيفية عميقة كما هو الحال في ورقة التعلم التمثيلي غير الخاضع للرقابة باستخدام شبكات الخصومة التوليدية العميقة التلافيفية من Facebook AI Research (2015) ولكن مع بعض التحسينات:
لقد أضفت طبقات معدل التعلم المتساوي من ورقة النمو التدريجي لشبكات GAN لتحسين الجودة والاستقرار والتنوع بواسطة Nvidia (2017)
أضفت Bilinear Upsampling / Downsampling من الورقة التي تجعل الشبكات التلافيفية Shift-Invariant مرة أخرى بواسطة Adobe Research (2019)
لقد قمت بتنفيذ تحويل المويجات من الورقة SWAGAN: نموذج توليدي قائم على المويجات من جامعة تل أبيب (2021)
لقد استخدمت بنية قائمة على النمط مع مدخلات ثابتة ، وتعلمت الأنماط من شبكة رسم الخرائط وحقن الضوضاء من الورقة بنية المولدات القائمة على الأنماط لشبكات الخصومة التوليدية بواسطة Nvidia (2018)
لقد أضفت تخطي الاتصالات من الورقة MSG-GAN: التدرجات متعددة المقاييس لشبكات الخصومة التوليدية بواسطة TomTom و Adobe (2019)
لقد أضفت الكتل المتبقية من الورقة Deep Residual Learning for Image Recognition بواسطة Microsoft Research (2015)
أضفت الانحراف المعياري لـ Minibatch في نهاية أداة التمييز من الورقة تقنيات محسنة لتدريب شبكات GAN بواسطة OpenAI (2016)
لقد احتفظت بالخسارة غير المشبعة الأصلية من الورقة البحثية Geneative Adversarial Nets الصادرة عن جامعة مونتريال (2014)
لقد أضفت تنظيم طول المسار على المولد من الورقة تحليل وتحسين جودة الصورة لـ StyleGAN بواسطة Nvidia (2019)
لقد أضفت تسوية العقوبة المتدرجة على أداة التمييز من الورقة " التدريب المحسن لشبكات Wasserstein GANs بواسطة Google Brain (2017)"
لقد أضفت تعزيز التمييز التكيفي (ADA) من الورقة التدريبية لشبكات الخصومة التوليدية ببيانات محدودة بواسطة Nvidia (2020) ولكن لم يتم تدريب احتمالية التعزيز ويجب ضبطها يدويًا (وتم تعطيل بعض التعزيزات بسبب فقدان تطبيق PyTorch)
لقد أضفت حساب مسافة بداية فريشيه (FID) أثناء التدريب من شبكات GAN الورقية التي تم تدريبها بواسطة قاعدة تحديث ذات مقياسين زمنيين تتقارب إلى توازن ناش المحلي بواسطة جامعة لينز (2017) باستخدام وحدة pytorch-fid
لقد أضفت جهاز عرض كما هو الحال في الورقة تحليل وتحسين جودة الصورة لـ StyleGAN بواسطة Nvidia (2019)
الوجوه البشرية 256*256 (FID: 5.97)
وجوه الحيوانات 256*256 (FID: 6.56)
وجوه الأنمي 256*256 (FID: 3.74)
وجوه الرسم 256*256 (FID: 20.32)
تتوفر الأوزان المدربة على مجموعات بيانات متعددة على Google Drive ، ما عليك سوى تنزيل ملفات .pt
ووضعها في مجلد models
.
قم بتشغيل الأمر التالي لتثبيت التبعيات:
$ pip install -r requirements.txt
(قد تحتاج إلى استخدام أمر محدد لـ PyTorch إذا كنت تريد استخدام CUDA)
أولاً، تحتاج إلى البحث عن مجموعة بيانات من الصور وتنزيلها (قد يكون أقل من 5000 صورة قليلًا جدًا وأكثر من 150000 ليس ضروريًا) . يمكنك العثور على الكثير من مجموعات البيانات على Kaggle وتلك التي استخدمتها على Google Drive الخاص بي .
ثم، في ملف training/settings.py
، حدد المسار إلى مجموعة البيانات
إذا لم يكن لديك وحدة معالجة رسومات باهظة الثمن بسعة 24 جيجابايت مثلي، فقد لا تعمل الإعدادات الافتراضية معك. يمكنك محاولة:
قم بتشغيل ملف training.ipynb
(يمكنك إيقاف التدريب في أي وقت واستئنافه لاحقًا بفضل نقاط التفتيش)
قم بتشغيل ملف testing.ipynb
لإنشاء صور عشوائية
قم بتشغيل ملف testing/interpolation.ipynb
لإنشاء صور فيديو استيفاء سلس
قم بتشغيل ملف testing/projector.ipynb
لعرض صور حقيقية في المساحة الكامنة
قم بتشغيل ملف testing/style_mixing.ipynb
لإنشاء صور لفيديو مزج النمط
قم بتشغيل ملف testing/timelapse.ipynb
لإنشاء صور فيديو تدريبي بفاصل زمني