כיצד לחשב את השיפוע הלא מותאמים של טנזור ב- PyTorch?

Kyzd Lhsb T Hsypw Hl Mwt Mym Sl Tnzwr B Pytorch



הזנות הנתונים האישיים מאוחסנים בצורה של ' טנזורים ב- PyTorch ו- שיפועים ' של הטנזורים מחושבים באמצעות התפשטות לאחור בתוך לולאת האימון של מודל למידה עמוקה. התנאי ' ללא קנה מידה ' פירושו שהנתונים הם גולמיים ואין עיבוד מקדים או אופטימיזציה מעורבים. השיפוע הלא מותאם של Tensor מספק את הערך האמיתי של השינוי לגבי פונקציית ההפסד שצוינה.

בבלוג זה, נדון כיצד לחשב את השיפוע הלא מותאמים של Tensor ב- PyTorch.







מהו שיפוע ללא קנה מידה של טנזור ב- PyTorch?

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



כיצד לחשב את השיפוע הלא מותאמים של טנזור ב- PyTorch?

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



בצע את השלבים המפורטים להלן כדי ללמוד כיצד לחשב את השיפוע הלא מותאם של טנזור ב- PyTorch:





שלב 1: התחל את הפרויקט על ידי הגדרת ה-IDE

Google Collaboratory IDE הוא אחת הבחירות הטובות ביותר לפיתוח פרויקטים של PyTorch מכיוון שהוא מספק גישה חופשית למעבדי GPU לעיבוד מהיר יותר. לך לקולאב אתר אינטרנט ולחץ על ' מחברת חדשה אפשרות להתחיל לעבוד:



שלב 2: ייבא את ספריית הלפיד החיוני

כל הפונקציונליות של מסגרת PyTorch כלולה בתוך ' לפיד 'ספרייה. כל פרויקט PyTorch מתחיל בהתקנה וייבוא ​​של ספרייה זו:

!pip להתקין לפיד

לייבא לפיד

הקוד לעיל פועל באופן הבא:

  • '! צִפצוּף ” היא חבילת התקנה עבור Python המשמשת להתקנת ספריות בפרויקטים.
  • ה ' יְבוּא הפקודה משמשת לקריאת הספריות המותקנות לתוך הפרויקט.
  • פרויקט זה צריך רק את הפונקציונליות של ' לפיד 'ספרייה:

שלב 3: הגדר PyTorch Tensor עם Gradient

להשתמש ב ' לפיד.טנסור שיטת ()' להגדרת טנזור עם שיפוע ' requires_grad=נכון ' שיטה:

A = torch.tensor([5.0], requires_grad=True)

שלב 4: הגדר פונקציית אובדן פשוטה

פונקציית הפסד מוגדרת באמצעות משוואה אריתמטית פשוטה כפי שמוצג:

loss_function = A*5

שלב 5: חשב את השיפוע והדפס לפלט

להשתמש ב ' לְאָחוֹר ()' שיטת לחישוב השיפוע ללא קנה מידה כפי שמוצג:

loss_function.backward()

unscaled_grad = A.grad

print('הדרגה ללא קנה מידה של PyTorch Tensor: ', unscaled_grad)

הקוד לעיל פועל באופן הבא:

  • להשתמש ב ' לְאָחוֹר ()' שיטת לחישוב השיפוע הלא מוקטן באמצעות התפשטות לאחור.
  • הקצה את ' א.גרד ' אל ה ' unscaled_grad 'משתנה.
  • לבסוף, השתמש ב' הדפס שיטת ()' כדי להציג את הפלט של השיפוע הלא מותאמים:

הערה : אתה יכול לגשת למחברת Colab שלנו כאן קישור .

פרו-טיפ

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

הַצלָחָה! זה עתה הראינו כיצד לחשב את השיפוע הלא מותאם של טנזור ב- PyTorch.

סיכום

חשב את השיפוע הלא מותאם של טנזור ב- PyTorch על ידי הגדרת הטנזור תחילה, ולאחר מכן שימוש בשיטת backward() כדי למצוא את השיפוע. זה מראה כיצד מודל הלמידה העמוקה מקשר את נתוני הקלט עם פונקציית האובדן המוגדרת. בבלוג זה, נתנו מדריך שלב חכם כיצד לחשב את השיפוע הלא קנה מידה של טנזור ב- PyTorch.