GPT
S

sdxl-vae-fp16-fix

קוד פתוח

madebyollinmit2023-07-11

  • diffusers
  • safetensors
  • stable-diffusion
  • stable-diffusion-diffusers

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

  • 84Mפרמטרים
  • 1.3 GBמשקל הקבצים
  • 304,578הורדות בחודש
  • 636לייקים

מה זה

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

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

מתאים ל

  • ריצת SDXL בדיוק חצי

    מאפשר לייצר תמונות בצינור עבודה מלא בלי לקבל שגיאות חישוב ובלי לעבור לדיוק מלא.

  • ביטול דגלי עקיפה בממשקים

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

  • שילוב בצינורות תוכנה

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

איפה זה נופל

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

הוא מיועד למנוע בעיות של דיוק חצי ספציפי, ולא מוסיף יכולות חדשות או משפר את איכות התמונה מעבר למה שהמקודד הרגיל יודע לעשות במקור.

שאלות
נפוצות

האם התמונות ייראו שונה מהגרסה המקורית?

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

האם הוא מתאים לגרסה אחת נקודה אפס של המודל?

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

איך מריצים

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

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

from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained("madebyollin/sdxl-vae-fp16-fix")
img = pipe("a photo").images[0]

הרישיון

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

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

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