tensorflow:: ops:: עומק למרחב
#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-ממדי. לדוגמה, עבור data_format = NHWC, כל אלמנט בטנזור הקלט ניתן לציון באמצעות 6 קואורדינטות, המסודרות לפי חשיבות יורדת של פריסת הזיכרון כדלקמן: n,iY,iX,bY,bX,oC (כאשר n=אינדקס אצווה, iX, iY פירושו קואורדינטות X או Y בתוך תמונת הקלט, bX, bY פירושו קואורדינטות בתוך בלוק הפלט, oC פירושו ערוצי פלט). הפלט יהיה הקלט המומר לפריסה הבאה: n,iY,bY,iX,bX,oC
פעולה זו שימושית לשינוי גודל הפעלות בין קונבולוציות (אך שמירה על כל הנתונים), למשל במקום איגום נתונים. היא שימושית גם לאימון מודלים קונבולוציוניים גרידא.
לדוגמה, בהינתן קלט של shape [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 = 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( 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 )
צוֹמֶת
::tensorflow::Node * node() const
אופרטור::tensorflow::קלט
operator::tensorflow::Input() const
אופרטור::tensorflow::פלט
operator::tensorflow::Output() const
פונקציות סטטיות ציבוריות
פורמט נתונים
Attrs DataFormat( StringPiece x )
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-11-05 (שעון UTC).