tensorflow:: אופס:: DepthToSpace
#include <array_ops.h>
DepthToSpace עבור טנסורים מסוג T.
תַקצִיר
מסדר מחדש נתונים מעומק לבלוקים של נתונים מרחביים. זהו הטרנספורמציה ההפוכה של SpaceToDepth. ליתר דיוק, אופציה זו מפיקה עותק של טנסור הקלט שבו ערכים מממד depth
מועברים בלוקים מרחביים למימדי height
width
. ה-attr block_size
מציין את גודל בלוק הקלט ואת אופן העברת הנתונים.
- נתחי נתונים בגודל
block_size * block_size
מעומק מסודרים מחדש לבלוקים שאינם חופפים בגודלblock_size x block_size
- הרוחב של טנסור הפלט הוא
input_depth * block_size
, בעוד שהגובה הואinput_height * block_size
. - קואורדינטות Y, X בתוך כל בלוק של תמונת הפלט נקבעות על ידי רכיב הסדר הגבוה של אינדקס ערוץ הקלט.
- עומק טנזור הקלט חייב להיות מתחלק ב-
block_size * block_size
.
ה- data_format
attr מציין את הפריסה של טנסור הקלט והפלט עם האפשרויות הבאות: "NHWC": [ batch, height, width, channels ]
"NCHW": [ batch, channels, height, width ]
"NCHW_VECT_C": qint8 [ batch, channels / 4, height, width, 4 ]
כדאי לשקול את הפעולה כהפיכת טנסור 6-D. למשל עבור data_format = NHWC, ניתן לציין כל אלמנט בטנזור הקלט באמצעות 6 קואורדינטות, מסודרות לפי הפחתת משמעות פריסת הזיכרון כמו: n,iY,iX,bY,bX,oC (כאשר n=אינדקס אצווה, iX, iY פירושו X או קואורדינטות Y בתוך תמונת הקלט, bX, byY פירושו קואורדינטות בתוך בלוק הפלט, oC פירושו ערוצי פלט). הפלט יהיה הקלט המופנה לפריסה הבאה: n,iY,bY,iX,bX,oC
פעולה זו שימושית לשינוי גודל ההפעלה בין פיתולים (אך שמירה על כל הנתונים), למשל במקום איגום. זה שימושי גם לאימון מודלים קונבולוציוניים בלבד.
לדוגמה, בהינתן קלט של צורה [1, 1, 1, 4]
, data_format = "NHWC" ו-block_size = 2:
x = [[[[1, 2, 3, 4]]]]
This operation will output a tensor of shape
[1, 2, 2, 1]
:
[[[[1], [2]], [[3], [4]]]]
כאן, לקלט יש אצווה של 1 ולכל רכיב אצווה יש צורה [1, 1, 4]
, הפלט המתאים יהיה בעל 2x2 אלמנטים ויהיה בעל עומק של ערוץ 1 (1 = 4 / (block_size * block_size)
). צורת רכיב הפלט היא [2, 2, 1]
.
עבור טנזור קלט עם עומק גדול יותר, כאן של צורה [1, 1, 1, 12]
, למשל
x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
פעולה זו, עבור גודל בלוק של 2, תחזיר את הטנסור הבא של הצורה [1, 2, 2, 3]
[[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]]
Similarly, for the following input of shape
[1 2 2 4]
, and a block size of 2:
x = [[[[1, 2, 3, 4], [5, 6, 7, 8]], [[9, 10, 11, 12], [13, 14, 15, 16]]]]
האופרטור יחזיר את הטנסור הבא של הצורה [1 4 4 1]
:
x = [[[ [1], [2], [5], [6]], [ [3], [4], [7], [8]], [ [9], [10], [13], [14]], [ [11], [12], [15], [16]]]]
Arguments:
- scope: A Scope object
- block_size: The size of the spatial block, same as in Space2Depth.
Returns:
Output
: The output tensor.
Constructors and Destructors |
|
---|---|
DepthToSpace(const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size)
|
|
DepthToSpace(const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size, const DepthToSpace::Attrs & attrs)
|
Public attributes |
|
---|---|
operation
|
|
output
|
Public functions |
|
---|---|
node() const
|
::tensorflow::Node *
|
operator::tensorflow::Input() const
|
|
operator::tensorflow::Output() const
|
|
Public static functions |
|
---|---|
DataFormat(StringPiece x)
|
Structs |
|
---|---|
tensorflow:: |
Optional attribute setters for DepthToSpace. |
Public attributes
operation
Operation operation
תְפוּקָה
::tensorflow::Output output
תפקידים ציבוריים
DepthToSpace
DepthToSpace( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size )
DepthToSpace
DepthToSpace( const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size, const DepthToSpace::Attrs & attrs )
צוֹמֶת
::tensorflow::Node * node() const
מפעיל::tensorflow::קלט
operator::tensorflow::Input() const
אופרטור::tensorflow::פלט
operator::tensorflow::Output() const
פונקציות סטטיות ציבוריות
DataFormat
Attrs DataFormat( StringPiece x )
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-11-16 (שעון UTC).