StridedSliceHelper

כיתה מופשטת ציבורית StridedSliceHelper

שיטות נקודת קצה עוזרות עבור Python כמו אינדקס.

ראה גם

בונים ציבוריים

שיטות ציבוריות

סטטי <T מרחיב את TType > StridedSlice <T>
stridedSlice ( היקף היקף , קלט Operand <T>, אינדקס... אינדקסים)
החזר פרוסה פסיעה מ'קלט'.
סטטי <T מרחיב את TType > StridedSliceAssign <T>
stridedSliceAssign ( היקף היקף , ערך של Operand <T> ref, ערך Operand <T>, אינדקס... אינדקס)
הקצה 'ערך' להפניה של ערך l של 'ref'.

שיטות בירושה

בונים ציבוריים

הציבור StridedSliceHelper ()

שיטות ציבוריות

סטטי StridedSlice <T> stridedSlice ( היקף היקף , קלט Operand <T>, אינדקס... אינדקסים)

החזר פרוסה פסיעה מ'קלט'.

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

- אליפסיס (...) באמצעות ellipsis() . אליפסות משמשות לרמז על אפס או יותר ממדים של בחירת מימד מלא. לדוגמה, stridedSlice(foo, Indices.ellipsis() הוא פרוסת הזהות.

- ציר חדש באמצעות newAxis() . זה משמש להוספת צורה חדשה = מימד אחד. לדוגמה, ` stridedSlice(foo, Indices.newAxis()) שבו foo הוא צורה (3, 4) מייצר טנזור (1, 3, 4) .

- טווח begin:end:stride באמצעות slice(Long, Long, long) Index.slice()} או all() . זה משמש כדי לציין כמה לבחור מממד נתון. stride יכול להיות כל מספר שלם אבל 0. begin הוא מספר שלם שמייצג את האינדקס של הערך הראשון שיש לבחור בעוד end מייצג את האינדקס של הערך האחרון לבחירה (בלעדי). התחלה וסוף יכולים להיות null, ובמקרה זה האינדקס מתחיל או מסתיים בתחילת הממד או בסוף הממד, בהתאמה (הפוך אם הצעד הוא שלילי). כאשר שניהם null, slice() זהה ל- all() . מספר הערכים שנבחרו בכל מימד הוא end - begin אם stride > 0 begin - end אם stride < 0 . begin end יכולים להיות שליליים כאשר -1 הוא האלמנט האחרון, -2 הוא השני אחרון. לדוגמה, בהינתן צורה (3,) tensor stridedSlice(foo, Indices.all()) , begin end האפקטיביים הם 0 ו 3 . אל תניח שזה שווה ערך ל- stridedSlice(foo, Indices.slice(0, -1)) 2 end האפקטיביים שלו הם 0 ו begin . דוגמה נוספת היא stridedSlice(foo, Indices.slice(-2, null, -1)) אשר הופכת את הממד הראשון של טנזור תוך שחרור שני האחרונים (בסדר המקורי). למשל foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1) הוא [4,3] .

- אינדקס בודד באמצעות at(long) . זה משמש כדי לשמור רק אלמנטים שיש להם אינדקס נתון. לדוגמה ( stridedSlice(foo, Indices.at(2)) על צורה (5,6) טנסור מייצר צורה (6,) טנזור. ניתן לשמור את הממד עם גודל אחד באמצעות at(long, boolean) .

סמנטיקה זו עוקבת בדרך כלל אחר סמנטיקה לאינדקס של NumPy, אותה ניתן למצוא כאן: https://numpy.org/doc/stable/reference/arrays.indexing.html

דרישות : `0 != צעדים[i] עבור i ב-[0, m)` רק אליפסיס אחד.

פרמטרים
תְחוּם ההיקף הנוכחי
מדדים המדדים לפרוסות. ראה Indices .
החזרות
  • מופע חדש של StridedSlice
ראה גם

סטטי ציבורי StridedSliceAssign <T> stridedSliceAssign ( scope scope, Operand <T> ref, Operand <T> value, Index... אינדקס)

הקצה 'ערך' להפניה של ערך l של 'ref'.

הערכים של `value` מוקצים למיקומים במשתנה `ref` שנבחרו על ידי פרמטרי הפרוסה. פרמטרי הפרוסה `begin`, `end`, `strides` וכו' פועלים בדיוק כמו ב-`StridedSlice`.

הערה אופציה זו אינה תומכת כעת בשידור ולכן הצורה של `value` חייבת להיות בדיוק הצורה שנוצרת על ידי הפרוסה של `ref`.

פרמטרים
תְחוּם ההיקף הנוכחי
ref הטנסור להקצות לו.
ערך הערך להקצות.
מדדים המדדים לפרוסות. ראה Indices .
החזרות
  • מופע חדש של StridedSliceAssign