כיצד לגשת ולשנות את הערכים של Tensor ב- PyTorch?

Kyzd Lgst Wlsnwt T H Rkym Sl Tensor B Pytorch



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

בלוג זה ימחיש את השיטות לגשת ולשנות את ערכי הטנזורים ב- PyTorch.

כיצד לגשת ולשנות את הערכים/תוכן של Tensor ב- PyTorch?

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







שיטה 1: גישה ושנה את הערכים של Tensor באמצעות אינדקס

אינדקס הוא דרך לבחור אלמנט מסוים או טווח של אלמנטים מטנזור מסוים על סמך מיקומם. משתמשים צריכים להשתמש בסוגריים מרובעים ' [ ] ' כדי לגשת לאלמנטים לאורך כל מימד של הטנזור. במקרה של טנזור דו-ממדי, ניתן לגשת לאלמנטים בשורה 'i' ובעמודה 'j' באמצעות 'טנסור[i,j]'. כדי לעשות זאת, בצע את השלבים שסופקו:



שלב 1: ייבוא ​​ספריית PyTorch

ראשית, ייבא את ' לפיד 'ספרייה:



יְבוּא לפיד

שלב 2: צור טנסור

לאחר מכן, השתמש ב' torch.tensor() ' פונקציה ליצירת טנזור רצוי ולהדפיס את האלמנטים שלו. לדוגמה, אנו יוצרים טנזור דו-ממדי ' עשרות 1 ' עם מידות 2×3:





עשרות 1 = לפיד. מוֹתֵחַ ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

הדפס ( עשרות 1 )

זה יצר את הטנזור הדו-ממדי כפי שניתן לראות להלן:



שלב 3: גישה לערכי Tensor באמצעות אינדקס

כעת, גש לערכים הרצויים של הטנזור לפי האינדקס שלהם. לדוגמה, ציינו את האינדקס '[1][2]' של ' עשרות 1 ' כדי לגשת לערך שלו ולאחסן אותו במשתנה בשם ' temp_element '. זה יקבל גישה לערך הקיים בשורה השנייה ובעמודה השלישית:

temp_element = עשרות 1 [ 1 ] [ 2 ]

הדפס ( temp_element )

כאן: ' [1] ' פירושו השורה השנייה ו' [2] ' פירושו העמודה השלישית מכיוון שהאינדקס מתחיל מ' 0 '.

ניתן לראות שהערך הרצוי נגיש מהטנזור, כלומר '4':

שלב 4: שנה את הערכים של Tensor באמצעות אינדקס

כדי לשנות את הערך הספציפי של הטנזור, ציין את האינדקס והקצה את הערך החדש. כאן, אנו מחליפים את הערך של ' [0][1] ' אינדקס עם ' חֲמֵשׁ עֶשׂרֵה ”:

עשרות 1 [ 0 ] [ 1 ] = חֲמֵשׁ עֶשׂרֵה

הדפס ( עשרות 1 )

הפלט שלהלן מראה שהערך שצוין של הטנזור שונה בהצלחה:

שיטה 2: גישה ושנה את הערכים של Tensor באמצעות חיתוך

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

שלב 1: ייבוא ​​ספריית PyTorch

ראשית, ייבא את ' לפיד 'ספרייה:

יְבוּא לפיד

שלב 2: צור טנסור

לאחר מכן, צור טנזור רצוי באמצעות ' torch.tensor() ' לתפקד ולהדפיס את האלמנטים שלו. לדוגמה, אנו יוצרים טנזור דו-ממדי ' עשרות2 ' עם מידות 2×3:

עשרות2 = לפיד. מוֹתֵחַ ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

הדפס ( עשרות2 )

זה יצר טנזור דו-ממדי:

שלב 3: גש לערכי Tensor באמצעות חיתוך

כעת, גש לערכים הרצויים של הטנזור באמצעות חיתוך. לדוגמה, ציינו את המדדים '[1]' של ה-'tens1' כדי לגשת לערכיו ולאחסן אותם במשתנה בשם ' new_values '. זה יקבל גישה לכל הערכים הקיימים בשורה השנייה:

new_values = עשרות2 [ 1 ]

הדפס ( 'ערכי שורה שנייה: ' , new_values )

בפלט שלהלן, כל הערכים הקיימים בשורה השנייה של הטנזור ניגשו בהצלחה:

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

new_values2 = עשרות2 [ : , 2 ]

הדפס ( 'ערכי עמודה שלישית: ' , new_values2 )

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

שלב 4: שנה את הערכים של Tensor באמצעות חיתוך

כדי לשנות את הערכים הספציפיים של הטנזור, ציין את המדדים והקצה את הערך החדש. כאן, אנו משנים את כל הערכים של השורה השנייה בטנזור. לשם כך, ציינו את ' [1] ' מדדים והקצאת ערכים חדשים:

עשרות2 [ 1 ] = לפיד. מוֹתֵחַ ( [ 30 , 60 , 90 ] )

הדפס ( 'טנסור שונה:' , עשרות2 )

על פי הפלט שלהלן, כל הערכים של ערכי הטנזור בשורה השנייה שונו בהצלחה:

הסברנו את השיטות היעילות לגשת ולשינוי ערכי טנסור ב- PyTorch.

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

סיכום

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