GPT
D

ddpm-celebahq-256

קוד פתוח

googleapache-2.02022-07-19

  • diffusers
  • pytorch
  • unconditional-image-generation

מודל דיפוזיה שמייצר פרצופים אקראיים ברזולוציה של 256 על 256 פיקסלים. הוא שוקל מעט מאוד ומתאים למי שרוצה לבדוק או לחקור מודלי דיפוזיה בסיסיים בלי פרומפטים ובלי סיבוכים מיותרים.

  • 434 MBמשקל הקבצים
  • 5,404הורדות בחודש
  • 56לייקים

מה זה

מדובר במימוש קלאסי של DDPM שאומן על מאגר CelebA-HQ. הוא עושה דבר אחד בלבד, יצירת תמונות פנים ללא תנאי, כלומר אתם לא כותבים טקסט ומבקשים בלונדינית עם משקפיים, אלא נותנים לו רעש אקראי והוא מחזיר פרצוף בגודל 256 על 256.

המשקל הכולל של הקבצים עומד על 434 מגה בייט בלבד, מה שהופך אותו לקל להורדה ולניסוי ישיר. במאמר המקורי המודלים האלה הראו איכות דגימה שהתחרתה ב־ProgressiveGAN, עם תוצאות מרשימות על מאגרי בדיקה כמו CIFAR10 ששם נמדד FID של 3.17 וציון Inception של 9.46. בפועל זה אומר שהתמונות יוצאות נקיות יחסית מתופעות לוואי מוזרות, אבל הן מוגבלות מאוד בממדים שלהן בהשוואה לסטנדרטים הנוכחיים.

מתאים ל

  • מחקר והבנת מודלי דיפוזיה

    משקל קטן של 434 מגה בייט וקוד פשוט ב־diffusers מאפשרים לנתח את תהליך הדינואיזינג בקלות.

  • בדיקת סקדולרים וביצועים

    השוואה מהירה בין DDPM ל־DDIM או PNDM כדי לבדוק זמני ריצה ואיכות בלי להעמיס על החומרה.

  • ייצור נתוני דמה של פרצופים

    יצירה אקראית של תמונות פנים ברזולוציה נמוכה עבור בדיקות מערכת, אימון מודלים משניים או בדיקות עומס.

איפה זה נופל

זה לא מודל טקסט לתמונה. אי אפשר לכוון אותו, אי אפשר להגיד לו איזה פרצוף לייצר, והוא לא מקבל שום קלט חוץ מרעש אקראי. מעבר לזה, הרזולוציה נעולה על 256 על 256 פיקסלים, שזה קטן מדי לכל מוצר מודרני בלי להפעיל עליו אלגוריתם הגדלה נפרד. אם אתם צריכים שליטה בתוצאה, הוא לא מתאים.

שאלות
נפוצות

אפשר להזין לו פרומפט בעברית או באנגלית כדי לקבל דמות מסוימת?

לא. המודל מוגדר תחת משימת unconditional image generation. הוא אינו כולל רכיב טקסטואלי ומייצר פנים רנדומליות לחלוטין מתוך רעש.

למה ההסקה לוקחת הרבה זמן למרות שהמודל קטן?

ה־scheduler המקורי של DDPM עובר דרך צעדי רעש רבים כדי לשחזר את התמונה. אם המהירות קריטית, מומלץ להחליף אותו ל־DDIMPipeline או PNDMPipeline כפי שמצוין בתיעוד.

איך מריצים

ההרצה נעשית ישירות דרך ספריית diffusers בפייתון עם DDPMPipeline בכמה שורות קוד. המשקל הזעיר אומר שלא צריך שרת מפלצתי עם עשרות גיגה זיכרון גרפי, וכרטיס מסך בסיסי או סביבת קולאב חינמית יריצו אותו בלי בעיה.

הבחירה החשובה כאן היא ה־scheduler. שימוש בברירת המחדל של DDPM ייתן איכות מקסימלית אבל ייקח הרבה זמן בכל ריצה. אם תרצו לקצר את זמן ההסקה, הכרטיס מציע להחליף את הצינור ל־DDIM או ל־PNDM, שדורשים פחות צעדים ומייצרים תמונה מהר יותר.

from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained("google/ddpm-celebahq-256")
img = pipe("a photo").images[0]

הרישיון

הוא מופץ תחת רישיון apache-2.0. הרישיון הזה מתיר שימוש חופשי כולל שימוש מסחרי, שינוי של הקוד והפצה מחדש. הדרישה העיקרית היא שמירה על הודעת זכויות היוצרים והרישיון המקורי, כך שאין מניעה חוקית לשלב אותו בכלים מסחריים.

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש
  • שימוש בפטנטים

הרישיון המלא בעמוד המודל ↗