tensorflow:: ops:: TensorArrayGrad

#include <data_flow_ops.h>

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

תַקצִיר

אם גרדיאנט TensorArray הנתון כבר קיים, הפונקציה מחזירה הפניה אליו.

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

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

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

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

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

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

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

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

טיעונים:

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

החזרות:

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

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

מאפיינים ציבוריים

flow_out
grad_handle
operation

מאפיינים ציבוריים

זרימה_חוצה

::tensorflow::Output flow_out

ידית_grad

::tensorflow::Output grad_handle

מִבצָע

Operation operation

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

TensorArrayGrad

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