tensorflow:: אופס:: TensorArrayGrad

#include <data_flow_ops.h>

יוצר TensorArray לאחסון ההדרגות של ערכים בנקודת האחיזה הנתונה.

סיכום

אם שיפוע ה- TensorArray הנתון כבר קיים, מחזיר הפניה אליו.

נועל את הגודל של TensorArray המקורי על ידי השבתת דגל הגודל הדינמי שלו.

הערה לגבי הקלט flow_in:

ה-handle flow_in מאלץ את ביצוע בדיקת השיפוע להתרחש רק לאחר שהתרחשו פעולות מסוימות אחרות. לדוגמה, כאשר TensorArray הקדמי הוא בגודל דינמי, כתיבה אל TensorArray זה עשויה לשנות את גודל האובייקט. גודל השיפוע TensorArray הוא סטטי בהתבסס על הגודל של TensorArray הקדמי כאשר פעולה זו מבוצעת. יתר על כן, הגודל של TensorArray הקדמי מוקפא בקריאה זו. כתוצאה מכך, הזרימה משמשת כדי להבטיח שהקריאה ליצירת הגרדיאנט TensorArray מתרחשת רק לאחר ביצוע כל הכתיבה.

במקרה של TensorArrays בגודל דינמי, יש לבצע חישוב שיפוע רק על פעולות קריאה שהן עצמן משורשרות באמצעות זרימה להתרחש רק לאחר ביצוע כל הכתיבה. כך ידוע הגודל הסופי של TensorArray קדימה כאשר הפעולה הזו נקראת.

הערה לגבי תכונת המקור:

קריאות שיפוע של TensorArray משתמשות באובייקט TensorArray של מצבר. אם מחושבים שיפועים מרובים ופועלים באותה הפעלה, צמתי השיפוע המרובים עלולים לזרום בטעות דרך אותו מצבר TensorArray . כפול זה סופר ובדרך כלל שוברת את זרימת השיפוע של TensorArray .

הפתרון הוא לזהות באיזו קריאת שיפוע מתבצעת קריאה של שיפוע TensorArray הספציפי הזה. זה מבוצע על ידי זיהוי מחרוזת ייחודית (למשל "gradients", "gradients_1", ...) מהשם של שיפוע הקלט של Tensor . מחרוזת זו משמשת כסיומת בעת יצירת אובייקט הגרדיאנט TensorArray כאן ( source התכונה ).

source התכונה מתווסף כסיומת לשם של TensorArray קדימה בעת ביצוע היצירה / חיפוש, כך שכל חישוב גרדיאנט נפרד מקבל מצבר TensorArray משלו.

טיעונים:

  • scope: אובייקט Scope
  • handle: הידית אל TensorArray הקדמי .
  • flow_in: סקלר צף האוכף שרשור נכון של פעולות.
  • source: מחרוזת מקור השיפוע, המשמשת כדי להחליט איזה שיפוע TensorArray להחזיר.

החזרות:

בנאים והורסים

TensorArrayGrad (const :: tensorflow::Scope & scope, :: tensorflow::Input handle, :: tensorflow::Input flow_in, StringPiece source)

תכונות ציבוריות

flow_out
grad_handle
operation

תכונות ציבוריות

flow_out

::tensorflow::Output flow_out

grad_handle

::tensorflow::Output grad_handle

מבצע

Operation operation

תפקידים ציבוריים

TensorArrayGrad

 TensorArrayGrad(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input handle,
  ::tensorflow::Input flow_in,
  StringPiece source
)