בנובמבר 2022, אנחנו הודיע שלקוחות AWS יכולים ליצור איתם תמונות מטקסט דיפוזיה יציבה דגמים המשתמשים אמזון SageMaker JumpStart. היום, אנו נרגשים להציג תכונה חדשה המאפשרת למשתמשים לצבוע תמונות עם דגמי Diffusion Stable. ציור בציור מתייחס לתהליך של החלפת חלק מתמונה בתמונה אחרת בהתבסס על הנחיה טקסטואלית. על ידי אספקת התמונה המקורית, תמונת מסכה המתארת את החלק להחלפה והנחיה טקסטואלית, מודל ה-Stable Diffusion יכול לייצר תמונה חדשה שתחליף את האזור המסוכה באובייקט, בנושא או בסביבה המתוארים בהנחיה הטקסטואלית.
אתה יכול להשתמש בציור לשחזור תמונות מושפלות או יצירת תמונות חדשות עם נושאים או סגנונות חדשים בחלקים מסוימים. בתחום התכנון האדריכלי, ניתן ליישם צביעת דיפוזיה יציבה לתיקון אזורים לא שלמים או פגומים של שרטוטי בנייה, ולספק מידע מדויק לצוותי הבנייה. במקרה של הדמיית MRI קלינית, יש לרסן את ראשו של המטופל, מה שעלול להוביל לתוצאות נמוכות עקב חפץ החיתוך הגורם לאובדן נתונים או דיוק האבחון מופחת. ציור תמונה יכול לעזור ביעילות להפחית את התוצאות הלא אופטימליות הללו.
בפוסט זה, אנו מציגים מדריך מקיף על פריסה והרצה של הסקת מסקנות באמצעות מודל הציור Stable Diffusion inpainting בשתי שיטות: דרך ממשק המשתמש (UI) של JumpStart ב- סטודיו SageMaker של אמזון, ובאופן פרוגרמטי דרך ממשקי API של JumpStart זמין ב SageMaker Python SDK.
סקירת פתרונות
התמונות הבאות הן דוגמאות לציור. התמונות המקוריות משמאל, תמונת המסכה במרכז, והתמונה המצוירת שנוצרה על ידי הדגם מימין. עבור הדוגמה הראשונה, הדגם סופק עם התמונה המקורית, תמונת מסכה, וההנחיה הטקסטואלית "חתול לבן, עיניים כחולות, לובש סוודר, שוכב בפארק", כמו גם ההנחיה השלילית "רגליים מצוירות בצורה גרועה. ” עבור הדוגמה השנייה, ההנחיה הטקסטואלית הייתה "דוגמנית מציגה בחן שמלה ארוכה ומזדמנת הכוללת שילוב של גוונים ורודים וכחולים."
הפעלת דגמים גדולים כמו Stable Diffusion דורשת סקריפטים מותאמים אישית. עליך להריץ בדיקות מקצה לקצה כדי לוודא שהסקריפט, המודל והמופע הרצוי עובדים יחד ביעילות. JumpStart מפשט תהליך זה על ידי אספקת סקריפטים מוכנים לשימוש שנבדקו היטב. אתה יכול לגשת לסקריפטים האלה בלחיצה אחת דרך ממשק המשתמש של Studio או עם מעט מאוד שורות קוד דרך ממשקי API של JumpStart.
הסעיפים הבאים מדריכים אותך בפריסת המודל והרצת ההסקה באמצעות ממשק המשתמש של Studio או ממשקי ה-API של JumpStart.
שים לב שבשימוש במודל זה אתה מסכים ל CreativeML Open RAIL++-M License.
גש ל-JumpStart דרך ממשק המשתמש של Studio
בחלק זה, אנו מדגים את הפריסה של דגמי JumpStart באמצעות ממשק המשתמש של Studio. הסרטון המצורף מדגים את איתור דגם הציור Stable Diffusion המאומן מראש ב-JumpStart ופריסה שלו. דף הדגם מציע פרטים חיוניים על הדגם והשימוש בו. כדי לבצע הסקה, אנו משתמשים בסוג המופע ml.p3.2xlarge, המספק את האצת ה-GPU הנדרשת להסקת השהייה נמוכה במחיר סביר. לאחר הגדרת מופע האירוח של SageMaker, בחר לפרוס. נקודת הסיום תהיה מבצעית ומוכנה לטפל בבקשות להסקת הסקים בתוך כ-10 דקות.
JumpStart מספקת מחברת לדוגמה שיכולה לעזור להאיץ את הזמן שלוקח להפעיל הסקה על נקודת הקצה החדשה שנוצרה. כדי לגשת למחברת בסטודיו, בחר פתח מחברת ב השתמש ב-Endpoint מ-Studio החלק של דף נקודת הקצה של המודל.
השתמש ב-JumpStart באופן פרוגרמטי עם ה-SDK של SageMaker
שימוש בממשק המשתמש של JumpStart מאפשר לך לפרוס מודל מאומן מראש באופן אינטראקטיבי בכמה קליקים בלבד. לחלופין, אתה יכול להשתמש במודלים של JumpStart באופן פרוגרמטי באמצעות ממשקי API המשולבים בתוך SageMaker Python SDK.
בסעיף זה, אנו בוחרים מודל מיומן מראש המתאים ב-JumpStart, פורסים מודל זה לנקודת קצה של SageMaker, ומבצעים הסקה על נקודת הקצה שנפרסה, והכל באמצעות ה-SDK של SageMaker Python. הדוגמאות הבאות מכילות קטעי קוד. כדי לגשת לקוד המלא עם כל השלבים הכלולים בהדגמה זו, עיין ב- מבוא לעריכת תמונות JumpStart – ציור דיפוזיה יציב מחברת לדוגמא.
פרוס את המודל שהוכשר מראש
SageMaker משתמש בקונטיינרים של Docker למשימות שונות של בנייה ושל זמן ריצה. JumpStart משתמש ב- מכולות ללמידה עמוקה של SageMaker (DLCs) שהם ספציפיים למסגרת. תחילה אנו מביאים חבילות נוספות, כמו גם סקריפטים לטיפול בהדרכה והסקת מסקנות עבור המשימה שנבחרה. לאחר מכן מביאים בנפרד את חפצי המודל שהוכשרו מראש model_uris
, המספק גמישות לפלטפורמה. זה מאפשר להשתמש במספר מודלים מאומנים מראש עם סקריפט מסקנות בודד. הקוד הבא ממחיש תהליך זה:
לאחר מכן, אנו מספקים משאבים אלה ל- a דגם SageMaker מופע ופרוס נקודת קצה:
לאחר פריסת המודל, נוכל לקבל ממנו תחזיות בזמן אמת!
קֶלֶט
הקלט הוא תמונת הבסיס, תמונת מסכה וההנחיה המתארת את הנושא, האובייקט או הסביבה שיש להחליף בחלק המוסווה. יצירת תמונת המסכה המושלמת לאפקטים בתוך הציור כרוכה במספר שיטות עבודה מומלצות. התחל עם הנחיה ספציפית, ואל תהסס להתנסות בהגדרות שונות של דיפוזיה יציבה כדי להשיג את התוצאות הרצויות. השתמש בתמונת מסכה שדומה מאוד לתמונה שאתה שואף לצייר. גישה זו מסייעת לאלגוריתם הציור בהשלמת הקטעים החסרים בתמונה, וכתוצאה מכך מראה טבעי יותר. תמונות באיכות גבוהה בדרך כלל מניבות תוצאות טובות יותר, אז ודא שתמונות הבסיס והמסיכה שלך יהיו באיכות טובה ודומות זו לזו. בנוסף, בחר בתמונת מסכה גדולה וחלקה כדי לשמר פרטים ולמזער חפצים.
נקודת הקצה מקבלת את תמונת הבסיס ואת המסכה כערכי RGB גולמיים או תמונה מקודדת base64. מטפל ההסקות מפענח את התמונה בהתבסס על content_type
:
- בעד
content_type = “application/json”
, מטען הקלט חייב להיות מילון JSON עם ערכי RGB גולמיים, הנחיה טקסטואלית ופרמטרים אופציונליים אחרים - בעד
content_type = “application/json;jpeg”
, מטען הקלט חייב להיות מילון JSON עם התמונה המקודדת base64, הנחיה טקסטואלית ופרמטרים אופציונליים אחרים
תְפוּקָה
נקודת הקצה יכולה ליצור שני סוגים של פלט: תמונת RGB מקודדת Base64 או מילון JSON של התמונות שנוצרו. אתה יכול לציין איזה פורמט פלט אתה רוצה על ידי הגדרת ה accept
כותרת אל "application/json"
or "application/json;jpeg"
עבור תמונת JPEG או base64, בהתאמה.
- בעד
accept = “application/json”
, נקודת הקצה מחזירה את מילון JSON עם ערכי RGB עבור התמונה - בעד
accept = “application/json;jpeg”
, נקודת הקצה מחזירה מילון JSON עם תמונת ה-JPEG כבייטים מקודדים בקידוד base64.b64
שים לב ששליחה או קבלה של המטען עם ערכי ה-RGB הגולמיים עלולה לפגוע במגבלות ברירת המחדל עבור מטען הקלט וגודל התגובה. לכן, אנו ממליצים להשתמש בתמונה המקודדת base64 לפי הגדרה content_type = “application/json;jpeg”
וקבל = "application/json;jpeg".
הקוד הבא הוא בקשה להסקת מסקנות לדוגמה:
פרמטרים נתמכים
דגמי צביעת דיפוזיה יציבה תומכים בפרמטרים רבים ליצירת תמונה:
- תמונה - התמונה המקורית.
- מסכה - תמונה שבה החלק המושחר נשאר ללא שינוי במהלך יצירת התמונה והחלק הלבן מוחלף.
- הפקודה - הנחיה להנחות את יצירת התמונה. זה יכול להיות מחרוזת או רשימה של מחרוזות.
- num_inference_steps (אופציונלי) - מספר שלבי ה-denoising במהלך יצירת התמונה. שלבים נוספים מובילים לתמונה באיכות גבוהה יותר. אם צוין, זה חייב להיות מספר שלם חיובי. שימו לב ששלבי הסקה נוספים יובילו לזמן תגובה ארוך יותר.
- סולם_הנחיה (אופציונלי) – סולם הנחיה גבוה יותר מביא לתמונה שקשורה יותר להנחיה, על חשבון איכות התמונה. אם צוין, זה חייב להיות צף.
guidance_scale<=1
מתעלמים. - הודעה_שלילית (אופציונלי) - זה מנחה את יצירת התמונות נגד הנחיה זו. אם צוין, זה חייב להיות מחרוזת או רשימה של מחרוזות ולהשתמש עם
guidance_scale
. אםguidance_scale
מושבת, זה גם מושבת. יתר על כן, אם ההנחיה היא רשימה של מחרוזות, אזיnegative_prompt
חייבת להיות גם רשימה של מחרוזות. - זרע (לא חובה) - זה מתקן את המצב האקראי לשחזור. אם צוין, זה חייב להיות מספר שלם. בכל פעם שאתה משתמש באותה הנחיה עם אותו זרע, התמונה שתתקבל תמיד תהיה זהה.
- גודל_אצווה (אופציונלי) - מספר התמונות להפקה במעבר אחד קדימה. אם אתה משתמש במופע קטן יותר או יצירת תמונות רבות, צמצם
batch_size
להיות מספר קטן (1-2). מספר התמונות = מספר ההנחיות*num_images_per_prompt
.
מגבלות והטיות
למרות ש-Stable Diffusion יש ביצועים מרשימים בציור, הוא סובל מכמה מגבלות והטיות. אלה כוללים בין היתר:
- ייתכן שהמודל לא יפיק פרצופים או גפיים מדויקים מכיוון שנתוני האימון אינם כוללים מספיק תמונות עם תכונות אלו.
- הדגם הוכשר על מערך נתונים של LAION-5B, בעל תוכן למבוגרים בלבד וייתכן שלא יתאים לשימוש במוצר ללא שיקולים נוספים.
- ייתכן שהמודל לא יעבוד טוב עם שפות שאינן אנגלית מכיוון שהמודל הוכשר על טקסט בשפה האנגלית.
- המודל לא יכול ליצור טקסט טוב בתוך תמונות.
- צביעת דיפוזיה יציבה עובדת בדרך כלל בצורה הטובה ביותר עם תמונות ברזולוציות נמוכות יותר, כגון 256×256 או 512×512 פיקסלים. כאשר עובדים עם תמונות ברזולוציה גבוהה (768×768 ומעלה), השיטה עשויה להתקשה לשמור על רמת האיכות והפירוט הרצויה.
- למרות שהשימוש בזרע יכול לעזור לשלוט על יכולת השחזור, צביעת דיפוזיה יציבה עדיין עשויה להניב תוצאות מגוונות עם שינויים קלים בקלט או בפרמטרים. זה עשוי להפוך את זה למאתגר לכוונן את הפלט לדרישות ספציפיות.
- השיטה עשויה להיאבק ביצירת טקסטורות ודפוסים מורכבים, במיוחד כאשר הם משתרעים על פני שטחים גדולים בתמונה או חיוניים לשמירה על הקוהרנטיות והאיכות הכוללת של האזור המצויר.
למידע נוסף על מגבלות והטיות, עיין ב- כרטיס דגם Diffusion Inpainting יציבה.
פתרון צביעה עם מסכה שנוצרת באמצעות הנחיה
CLIPSeq היא טכניקת למידה עמוקה מתקדמת המנצלת את הכוח של מודלים CLIP (Contrastive Language-Image Pretraining) מאומנים מראש כדי ליצור מסכות מתמונות קלט. גישה זו מספקת דרך יעילה ליצור מסכות עבור משימות כגון פילוח תמונה, ציור ומניפולציה. CLIPSeq משתמש ב-CLIP כדי ליצור תיאור טקסט של תמונת הקלט. לאחר מכן, תיאור הטקסט משמש ליצירת מסכה המזהה את הפיקסלים בתמונה הרלוונטיים לתיאור הטקסט. לאחר מכן ניתן להשתמש במסכה כדי לבודד את החלקים הרלוונטיים של התמונה לעיבוד נוסף.
ל- CLIPSeq מספר יתרונות על פני שיטות אחרות להפקת מסכות מתמונות קלט. ראשית, זוהי שיטה יעילה יותר, מכיוון שהיא אינה מחייבת את עיבוד התמונה באמצעות אלגוריתם נפרד של פילוח תמונה. שנית, זה יותר מדויק, כי זה יכול ליצור מסכות שמתואמות יותר עם תיאור הטקסט של התמונה. שלישית, זה יותר תכליתי, מכיוון שאתה יכול להשתמש בו כדי ליצור מסכות ממגוון רחב של תמונות.
עם זאת, ל- CLIPSeq יש גם כמה חסרונות. ראשית, לטכניקה עשויות להיות מגבלות במונחים של נושא, מכיוון שהיא מסתמכת על מודלים מאומנים מראש של CLIP שעשויים לא להקיף תחומים או תחומי מומחיות ספציפיים. שנית, זו יכולה להיות שיטה רגישה, מכיוון שהיא חשופה לשגיאות בתיאור הטקסט של התמונה.
למידע נוסף עיין ב עיצוב אופנה וירטואלי עם בינה מלאכותית גנרטיבית באמצעות Amazon SageMaker.
לנקות את
לאחר שתסיים להפעיל את המחברת, הקפד למחוק את כל המשאבים שנוצרו בתהליך כדי להבטיח שהחיוב יופסק. הקוד לניקוי נקודת הקצה זמין בקובץ המשויך מחברה.
סיכום
בפוסט זה, הראינו כיצד לפרוס מודל ציור יציב דיפוזיה מאומן מראש באמצעות JumpStart. הצגנו קטעי קוד בפוסט זה - הקוד המלא עם כל השלבים בהדגמה זו זמין ב- מבוא ל-JumpStart - שפר את איכות התמונה בהנחיה מחברת לדוגמה. נסה את הפתרון בעצמך ושלח לנו את הערותיך.
למידע נוסף על המודל וכיצד הוא פועל, עיין במשאבים הבאים:
למידע נוסף על JumpStart, עיין בפוסטים הבאים:
על הכותבים
ד"ר Vivek Madan הוא מדען יישומי בצוות אמזון SageMaker JumpStart. הוא קיבל את הדוקטורט שלו מאוניברסיטת אילינוי באורבנה-שמפיין והיה חוקר פוסט דוקטורט בג'ורג'יה טק. הוא חוקר פעיל בלמידת מכונה ועיצוב אלגוריתמים ופרסם מאמרים בכנסים של EMNLP, ICLR, COLT, FOCS ו-SODA.
אלפרד שן הוא מומחה בכיר בינה מלאכותית/ML ב-AWS. הוא עבד בעמק הסיליקון, מחזיק בתפקידים טכניים וניהוליים במגזרים מגוונים כולל שירותי בריאות, פיננסים והיי-טק. הוא חוקר AI/ML יישומי מסור, המתרכז בקורות חיים, NLP ורב-מודאליות. עבודתו הוצגה בפרסומים כגון EMNLP, ICLR ובריאות הציבור.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- Platoblockchain. Web3 Metaverse Intelligence. ידע מוגבר. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/inpaint-images-with-stable-diffusion-using-amazon-sagemaker-jumpstart/
- :הוא
- $ למעלה
- 10
- 100
- 2022
- 7
- a
- אודות
- להאיץ
- לְקַבֵּל
- מקבל
- גישה
- דיוק
- מדויק
- להשיג
- פעיל
- נוסף
- בנוסף
- מְבוּגָר
- מתקדם
- יתרונות
- מחיר סביר
- לאחר
- נגד
- AI
- AI / ML
- איידס
- אַלגוֹרִיתְם
- מיושר
- תעשיות
- מאפשר
- תמיד
- אמזון בעברית
- אמזון SageMaker
- אמזון SageMaker JumpStart
- ו
- אחר
- API
- ממשקי API
- יישומית
- גישה
- מתאים
- בערך
- אדריכלי
- ARE
- AREA
- אזורים
- AS
- At
- באופן אוטומטי
- זמין
- AWS
- בסיס
- מבוסס
- BE
- כי
- הטוב ביותר
- שיטות עבודה מומלצות
- מוטב
- הטיה
- חיוב
- להתמזג
- כָּחוֹל
- לִבנוֹת
- בִּניָן
- by
- CAN
- מקרה
- אגבי
- חָתוּל
- גורם
- מרכז
- מסוים
- אתגר
- לבדוק
- בחרו
- בכיתה
- קליק
- קליני
- מקרוב
- קוד
- הערות
- להשלים
- מַשׁלִים
- מַקִיף
- כנסים
- שיקולים
- בניה
- להכיל
- מכולה
- מכולות
- תוכן
- לִשְׁלוֹט
- לִיצוֹר
- נוצר
- יוצרים
- מנהג
- לקוחות
- נתונים
- אובדן נתונים
- מוקדש
- עמוק
- למידה עמוקה
- בְּרִירַת מֶחדָל
- מספק
- מדגים
- לפרוס
- פרס
- פריסה
- פריסה
- מְתוּאָר
- תיאור
- עיצוב
- רצוי
- פרט
- פרטים
- שידור
- נכה
- שונה
- סַוָר
- לא
- תחומים
- לא
- בְּמַהֲלָך
- כל אחד
- יעילות
- תופעות
- יעיל
- יעילות
- או
- מאפשר
- מקצה לקצה
- נקודת קצה
- אנגלית
- לְהַבטִיחַ
- כניסה
- סביבה
- שגיאות
- במיוחד
- חיוני
- דוגמה
- דוגמאות
- נרגש
- לְנַסוֹת
- מומחיות
- עיניים
- פנים
- אופנה
- מאפיין
- תכונות
- משתתפים
- רגליים
- נְקֵבָה
- הושג
- מעטים
- שלח
- לממן
- ראשון
- מתאים
- גמישות
- לָצוּף
- הבא
- בעד
- פוּרמָט
- קדימה
- החל מ-
- מלא
- נוסף
- בדרך כלל
- ליצור
- נוצר
- יצירת
- דור
- גנרטטיבית
- AI Generative
- טוב
- GPU
- הדרכה
- מדריך
- מדריך
- לטפל
- יש
- ראש
- בְּרִיאוּת
- בריאות
- לעזור
- באיכות גבוהה
- רזולוציה גבוהה
- גבוה יותר
- מכה
- מחזיק
- אירוח
- איך
- איך
- HTML
- HTTPS
- מזהה
- אילינוי
- תמונה
- תמונות
- הדמיה
- מרשים
- in
- לכלול
- כלול
- כולל
- מידע
- קלט
- למשל
- משולב
- מִמְשָׁק
- מבוא
- IT
- שֶׁלָה
- jpg
- ג'סון
- שפה
- שפות
- גָדוֹל
- עוֹפֶרֶת
- לִלמוֹד
- למידה
- רמה
- כמו
- מגבלות
- מוגבל
- גבולות
- קווים
- רשימה
- ארוך
- עוד
- את
- מכונה
- למידת מכונה
- לתחזק
- שמירה
- לעשות
- ניהולית
- מניפולציה
- רב
- מסכה
- מבחר המסיכות
- דבר
- מאי..
- שיטה
- שיטות
- יכול
- דקות
- חסר
- להקל
- ML
- מודל
- מודלים
- יותר
- יותר יעיל
- יתר על כן
- MRI
- מספר
- טבעי
- צורך
- שלילי
- חדש
- NLP
- מחברה
- רומן
- נוֹבֶמבֶּר
- מספר
- אובייקט
- להשיג
- of
- המיוחדות שלנו
- on
- ONE
- לפתוח
- מבצעי
- להזמין
- מְקוֹרִי
- אחר
- קווי מתאר
- תפוקה
- מקיף
- שֶׁלוֹ
- חבילות
- עמוד
- ניירות
- פרמטרים
- פארק
- חלקים
- לעבור
- דפוסי
- לְבַצֵעַ
- ביצועים
- פלטפורמה
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- נקודה
- עמדות
- חיובי
- הודעה
- הודעות
- כּוֹחַ
- פרקטיקות
- צורך
- התחזיות
- חיזוי
- מוּכָן
- להציג
- מחיר
- תהליך
- מעובד
- תהליך
- לייצר
- המוצר
- לספק
- ובלבד
- מספק
- מתן
- ציבורי
- בריאות הציבור
- פרסומים
- לאור
- פיתון
- איכות
- אקראי
- חי
- זמן אמת
- תחום
- קבלה
- להמליץ
- להפחית
- מופחת
- מתייחס
- באזור
- קָשׁוּר
- רלוונטי
- שְׂרִידִים
- לתקן
- החליף
- לבקש
- בקשות
- לדרוש
- נדרש
- דרישות
- דורש
- חוקר
- דומה
- משאבים
- תגובה
- שחזור
- וכתוצאה מכך
- תוצאות
- לַחֲזוֹר
- החזרות
- RGB
- הפעלה
- ריצה
- בעל חכמים
- אותו
- סולם
- מַדְעָן
- סקריפטים
- Sdk
- שְׁנִיָה
- סעיף
- סעיפים
- מגזרים
- זרע
- פילוח
- נבחר
- שליחה
- לחצני מצוקה לפנסיונרים
- רגיש
- נפרד
- הצבה
- הגדרות
- כמה
- סיליקון
- עמק הסיליקון
- יחיד
- מידה
- קטן
- קטן יותר
- So
- פִּתָרוֹן
- כמה
- משך
- מומחה
- ספציפי
- מפורט
- יציב
- התחלה
- מדינה
- צעדים
- עוד
- נעצר
- מחרוזת
- מַאֲבָק
- סטודיו
- נושא
- כזה
- סובל
- מספיק
- תמיכה
- apt
- לוקח
- המשימות
- משימות
- נבחרת
- טק
- טכני
- מונחים
- בדיקות
- זֶה
- השמיים
- לכן
- אלה
- שְׁלִישִׁי
- דרך
- זמן
- ל
- היום
- יַחַד
- מְאוּמָן
- הדרכה
- סוגים
- בדרך כלל
- ui
- אוניברסיטה
- us
- נוֹהָג
- להשתמש
- משתמש
- ממשק משתמש
- משתמשים
- לנצל
- מנצל
- עֶמֶק
- ערכים
- מגוון
- שונים
- רב צדדי
- באמצעות
- וִידֵאוֹ
- דֶרֶך..
- טוֹב
- אשר
- לבן
- רָחָב
- יצטרך
- עם
- בתוך
- לְלֹא
- תיק עבודות
- לעבוד יחד
- עובד
- עובד
- תְשׁוּאָה
- אתה
- זפירנט