מוסיף `עדכונים` דלילים לטנזור קיים לפי `מדדים`.
פעולה זו יוצרת טנסור חדש על ידי הוספת `עדכונים` דלילים למעבר ב`טנזור`. פעולה זו דומה מאוד ל- tf.compat.v1.scatter_nd_add
, אלא שהעדכונים מתווספים על טנזור קיים (בניגוד למשתנה). אם לא ניתן לעשות שימוש חוזר בזיכרון של הטנזור הקיים, עותק מבוצע ומתעדכן.
`מדדים` הוא טנסור שלם המכיל מדדים לתוך טנזור חדש של הצורה `tensor.shape`. הממד האחרון של `מדדים` יכול להיות לכל היותר את הדרגה של `tensor.shape`:
indices.shape[-1] <= tensor.shape.rank
הממד האחרון של `מדדים` מתאים למדדים לאלמנטים (אם `indices.shape[-1] = tensor.shape. rank`) או פרוסות (אם `indices.shape[-1] < tensor.shape.rank`) לאורך הממד `indices.shape[-1]` של `tensor.shape`. 'עדכונים' הוא טנסור עם צורה indices.shape[:-1] + tensor.shape[indices.shape[-1]:]
הצורה הפשוטה ביותר של 'tensor_scatter_nd_add' היא הוספת אלמנטים בודדים לטנזור לפי אינדקס. לדוגמה, נניח שאנו רוצים להוסיף 4 אלמנטים בטנזור דרגה 1 עם 8 אלמנטים.ב-Python, פעולת הוספה של פיזור זו תיראה כך:
>>> מדדים = tf.constant([[4], [3], [1], [7]]) >>> עדכונים = tf.constant([9, 10, 11, 12]) >>> טנסור = tf.ones([8], dtype=tf.int32) >>> מעודכן = tf.tensor_scatter_nd_add(tensor, מדדים, עדכונים) >>> מעודכן אנחנו יכולים גם להכניס בבת אחת פרוסות שלמות של טנזור בדרגה גבוהה יותר. לדוגמה, אם נרצה להכניס שתי פרוסות בממד הראשון של טנסור דרגה 3 עם שתי מטריצות של ערכים חדשים. ב-Python, פעולת הוספה של פיזור זו תיראה כך: >>> מדדים = tf.constant([[0], [2]]) >>> עדכונים = tf.constant([[[5, 5, 5, 5], [6, 6, 6, 6], ... [7, 7, 7, 7], [8, 8, 8, 8]], ... [[5, 5, 5, 5], [6, 6, 6, 6], .. . [7, 7, 7, 7], [8, 8, 8, 8]]]) >>> tensor = tf.ones([4, 4, 4],dtype=tf.int32) >>> עודכן = tf.tensor_scatter_nd_add(טנסור, מדדים, עדכונים) >>> עודכן הערה: במעבד, אם נמצא אינדקס מחוץ לתחום, מוחזרת שגיאה. ב-GPU, אם נמצא אינדקס מחוץ לתחום, מתעלמים מהאינדקס.
שיטות ציבוריות
פלט <T> | asOutput () מחזירה את הידית הסמלית של טנזור. |
סטטי <T, U מרחיב מספר> TensorScatterAdd <T> | |
פלט <T> | פלט () טנזור חדש שהועתק מטנזור ועדכונים שנוספו לפי המדדים. |
שיטות בירושה
שיטות ציבוריות
פלט ציבורי <T> asOutput ()
מחזירה את הידית הסמלית של טנזור.
כניסות לפעולות TensorFlow הן יציאות של פעולת TensorFlow אחרת. שיטה זו משמשת להשגת ידית סמלית המייצגת את חישוב הקלט.
סטטי ציבורי TensorScatterAdd <T> ליצור ( היקף היקף , טנסור Operand <T>, מדדי Operand <U>, עדכוני Operand <T>)
שיטת מפעל ליצירת מחלקה העוטפת פעולת TensorScatterAdd חדשה.
פרמטרים
תְחוּם | ההיקף הנוכחי |
---|---|
מוֹתֵחַ | טנסור להעתקה/עדכון. |
מדדים | טנסור אינדקס. |
עדכונים | עדכונים לפיזור בפלט. |
החזרות
- מופע חדש של TensorScatterAdd