SpaceToDepth עבור טנסורים מסוג T.
מסדר מחדש בלוקים של נתונים מרחביים, לעומק. ליתר דיוק, אופציה זו מוציאה עותק של טנסור הקלט שבו ערכים מממדים 'גובה' ו'רוחב' מועברים לממד 'עומק'. ה-attr `block_size` מציין את גודל בלוק הקלט.
* בלוקים שאינם חופפים בגודל `block_size x block size` מסודרים מחדש לעומק בכל מיקום. * העומק של טנסור הפלט הוא `גודל_block *גודל_חסימה *עומק_כניסה`. * קואורדינטות Y, X בתוך כל בלוק של הקלט הופכות לרכיב הסדר הגבוה של אינדקס ערוץ הפלט. * הגובה והרוחב של טנסור הקלט חייבים להיות מתחלקים ב-block_size.
ה-`data_format` attr מציין את הפריסה של טנסור הקלט והפלט עם האפשרויות הבאות: "NHWC": `[ batch, height, width, channels ]` "NCHW": `[ batch, channels, height, width ]` " NCHW_VECT_C": `qint8 [ אצווה, ערוצים / 4, גובה, רוחב, 4 ]`
כדאי לשקול את הפעולה כהפיכת טנזור 6-D. למשל עבור data_format = NHWC, ניתן לציין כל אלמנט בטנזור הקלט באמצעות 6 קואורדינטות, מסודרות לפי הפחתת משמעות פריסת הזיכרון כמו: n,oY,bY,oX,bX,iC (כאשר n=אינדקס אצווה, oX, oY פירושו X או קואורדינטות Y בתוך תמונת הפלט, bX, byY פירושו קואורדינטות בתוך בלוק הקלט, iC פירושו ערוצי קלט). הפלט יהיה טרנספוזיציה לפריסה הבאה: n,oY,oX,bY,bX,iC
פעולה זו שימושית לשינוי גודל ההפעלה בין פיתולים (אך שמירה על כל הנתונים), למשל במקום איגום. זה גם שימושי לאימון מודלים קונבולוציוניים בלבד.
לדוגמה, בהינתן קלט של צורה `[1, 2, 2, 1]`, data_format = "NHWC" ו-block_size = 2:
x = [[[[1], [2]],
[[3], [4]]]]
פעולה זו תוציא טנסור של צורה `[1, 1, 1, 4]`: [[[[1, 2, 3, 4]]]]
כאן, לקלט יש אצווה של 1 ולכל רכיב אצווה יש צורה `[2, 2, 1]`, הפלט המתאים יהיה בעל אלמנט בודד (כלומר רוחב וגובה שניהם 1) ויהיה בעל עומק של 4 ערוצים (1 * גודל_בלוק * גודל_גוש). צורת רכיב הפלט היא `[1, 1, 4]`.עבור טנזור קלט עם עומק גדול יותר, כאן של צורה `[1, 2, 2, 3]`, למשל
x = [[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
פעולה זו, עבור block_size של 2, תחזיר את הטנסור הבא של הצורה `[1, 1, 1, 12]` [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
באופן דומה, עבור הקלט הבא של צורה `[1 4 4 1]`, וגודל בלוק של 2: x = [[[[1], [2], [5], [6]],
[[3], [4], [7], [8]],
[[9], [10], [13], [14]],
[[11], [12], [15], [16]]]]
האופרטור יחזיר את הטנסור הבא של הצורה `[1 2 2 4]`: x = [[[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]]]]
כיתות מקוננות
מַחלָקָה | SpaceToDepth.Options | תכונות אופציונליות עבור SpaceToDepth |
קבועים
חוּט | OP_NAME | השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow |
שיטות ציבוריות
פלט <T> | asOutput () מחזירה את הידית הסמלית של הטנזור. |
סטטי <T מרחיב את TType > SpaceToDepth <T> | ליצור (היקף היקף , קלט Operand <T>, גודל בלוק ארוך, אפשרויות... אפשרויות) שיטת מפעל ליצירת מחלקה העוטפת פעולת SpaceToDepth חדשה. |
סטטי SpaceToDepth.Options | dataFormat (String dataFormat) |
פלט <T> | פלט () |
שיטות בירושה
קבועים
מחרוזת סופית סטטית ציבורית OP_NAME
השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow
שיטות ציבוריות
פלט ציבורי <T> asOutput ()
מחזירה את הידית הסמלית של הטנזור.
כניסות לפעולות TensorFlow הן יציאות של פעולת TensorFlow אחרת. שיטה זו משמשת לקבלת ידית סמלית המייצגת את חישוב הקלט.
Public static SpaceToDepth <T> create (היקף היקף , קלט Operand <T>, גודל בלוק ארוך, אפשרויות... אפשרויות)
שיטת מפעל ליצירת מחלקה העוטפת פעולת SpaceToDepth חדשה.
פרמטרים
תְחוּם | ההיקף הנוכחי |
---|---|
blockSize | גודל הבלוק המרחבי. |
אפשרויות | נושא ערכי תכונות אופציונליות |
מחזיר
- מופע חדש של SpaceToDepth