מחיל תוספת דלילה על ערכים בודדים או פרוסות במשתנה.
`ref` הוא `טנזור` עם דרגה `P` ו`מדדים` הוא `טנזור` בדרגת `Q`.
'מדדים' חייב להיות טנזור של מספר שלם, המכיל אינדקסים לתוך 'ref'. זה חייב להיות צורה `[d_0, ..., d_{Q-2}, K]` כאשר `0 < K <= P`.
הממד הפנימי ביותר של `מדדים` (עם אורך `K`) מתאים למדדים לאלמנטים (אם `K = P`) או לפרוסות (אם `K < P`) לאורך הממד `K` של `ref`.
'עדכונים' הוא 'טנזור' בדרגה 'Q-1+PK' עם הצורה:
[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]]
לדוגמה, נניח שאנו רוצים להוסיף 4 אלמנטים מפוזרים לטנזור בדרגה 1 ל-8 אלמנטים. ב-Python, התוספת הזו תיראה כך: ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8], use_resource=True)
indices = tf.constant([[4], [3], [1], [7]])
updates = tf.constant([9, 10, 11, 12])
add = tf.scatter_nd_add(ref, indices, updates)
with tf.Session() as sess:
print sess.run(add)
העדכון שיתקבל ל-ref ייראה כך:[1, 13, 3, 14, 14, 6, 7, 20]
ראה tf.scatter_nd
לפרטים נוספים על איך לבצע עדכונים לפרוסות.
כיתות מקוננות
מַחלָקָה | ResourceScatterNdAdd.Options | תכונות אופציונליות עבור ResourceScatterNdAdd |
שיטות ציבוריות
סטטי <T מרחיב מספר, U> ResourceScatterNdAdd | |
static ResourceScatterNdAdd.Options | useLocking (useLocking בוליאני) |
שיטות בירושה
שיטות ציבוריות
public static ResourceScatterNdAdd create ( היקף היקף , Operand <?> ref, Operand <T> מדדי, Operand <U> עדכוני, אפשרויות... אפשרויות)
שיטת מפעל ליצירת מחלקה העוטפת פעולת ResourceScatterNdAdd חדשה.
פרמטרים
תְחוּם | ההיקף הנוכחי |
---|---|
ref | ידית משאבים. חייב להיות מ-VarHandleOp. |
מדדים | טנסור. חייב להיות אחד מהסוגים הבאים: int32, int64. טנזור של מדדים לתוך ref. |
עדכונים | טנסור. חייב להיות אותו סוג כמו ref. טנסור של ערכים להוסיף ל-ref. |
אפשרויות | נושא ערכי תכונות אופציונליות |
מחזיר
- מופע חדש של ResourceScatterNdAdd
public static ResourceScatterNdAdd.Options useLocking (שימוש בוליאני)
פרמטרים
השתמש בנעילה | בול אופציונלי. ברירת המחדל ל-True. אם נכון, ההקצאה תהיה מוגנת במנעול; אחרת ההתנהגות אינה מוגדרת, אך עלולה להפגין פחות מחלוקת. |
---|