tensorflow:: אופס:: BatchToSpaceND
#include <array_ops.h>
BatchToSpace עבור טנסור ND מסוג T.
תַקצִיר
פעולה זו מעצבת מחדש את הממד "אצווה" 0 למימדים M + 1
של הצורה block_shape + [batch]
, משלבת את הבלוקים האלה בחזרה לרשת המוגדרת על ידי הממדים המרחביים [1, ..., M]
, כדי לקבל תוצאה עם ה- אותה דירוג כמו הקלט. לאחר מכן, הממדים המרחביים של תוצאת ביניים זו נחתכים באופן אופציונלי לפי crops
כדי להפיק את הפלט. זה ההפך של SpaceToBatch. ראה להלן לתיאור מדויק.
טיעונים:
- scope: אובייקט Scope
- קלט: ND עם צורה
input_shape = [batch] + spatial_shape + remaining_shape
, כאשר ל- spatial_shape יש ממדי M. - block_shape: 1-D עם צורה
[M]
, כל הערכים חייבים להיות >= 1. - יבולים: 2-D עם צורה
[M, 2]
, כל הערכים חייבים להיות >= 0.crops[i] = [crop_start, crop_end]
מציין את הכמות לחתוך מממד הקלטi + 1
, התואם לממד המרחביi
. זה נדרש ש-crop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1]
.
פעולה זו מקבילה לשלבים הבאים:
- עצב מחדש
input
לצורהreshaped
של הצורה: [block_shape[0], ..., block_shape[M-1], batch / prod(block_shape), input_shape[1], ..., input_shape[N-1]] - המרת מידות של
reshaped
כדי לייצר צורהpermuted
[אצווה / prod(בלוק_צורה),צורה_כניסה[1], צורת_חסימה[0], ..., צורת_קלט[M], צורה_בלוק[M-1],צורה_קלט[M+1], ..., input_shape[N-1]] - צורה מחדש
permuted
כדי לייצרreshaped_permuted
של צורה [אצווה / prod(block_shape),input_shape[1] * block_shape[0], ..., input_shape[M] * block_shape[M-1],input_shape[M+1], .. ., input_shape[N-1]] - חתוך את ההתחלה והסוף של הממדים
[1, ..., M]
שלreshaped_permuted
לפיcrops
כדי להפיק את הפלט של צורה: [batch / prod(block_shape),input_shape[1] * block_shape[0] - crops[0, 0] - גידולים[0,1], ..., צורת_קלט[M] *צורה_חסימה[M-1] - גידולים[M-1,0] - גידולים[M-1,1],צורה_קלט[M+1] , ..., input_shape[N-1]]
כמה דוגמאות:
(1) עבור הקלט הבא של צורה [4, 1, 1, 1]
, block_shape = [2, 2]
, ו- crops = [[0, 0], [0, 0]]
:
[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
לטנסור הפלט יש צורה [1, 2, 2, 1]
וערך:
x = [[[[1], [2]], [[3], [4]]]]
(2) עבור הקלט הבא של צורה [4, 1, 1, 3]
, block_shape = [2, 2]
, ו- crops = [[0, 0], [0, 0]]
:
[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]
לטנסור הפלט יש צורה [1, 2, 2, 3]
וערך:
x = [[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]]
(3) עבור הקלט הבא של צורה [4, 2, 2, 1]
, block_shape = [2, 2]
, ו- crops = [[0, 0], [0, 0]]
:
x = [[[[1], [3]], [[9], [11]]], [[[2], [4]], [[10], [12]]], [[[5], [7]], [[13], [15]]], [[[6], [8]], [[14], [16]]]]
לטנסור הפלט יש צורה [1, 4, 4, 1]
וערך:
x = [[[[1], [2], [3], [4]], [[5], [6], [7], [8]], [[9], [10], [11], [12]], [[13], [14], [15], [16]]]]
(4) עבור הקלט הבא של צורה [8, 1, 3, 1]
, block_shape = [2, 2]
, ו- crops = [[0, 0], [2, 0]]
:
x = [[[[0], [1], [3]]], [[[0], [9], [11]]], [[[0], [2], [4]]], [[[0], [10], [12]]], [[[0], [5], [7]]], [[[0], [13], [15]]], [[[0], [6], [8]]], [[[0], [14], [16]]]]
לטנזור הפלט יש צורה [2, 2, 4, 1]
וערך:
x = [[[[1], [2], [3], [4]], [[5], [6], [7], [8]]], [[[9], [10], [11], [12]], [[13], [14], [15], [16]]]]
החזרות:
-
Output
: טנסור הפלט.
בנאים והורסים | |
---|---|
BatchToSpaceND (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input block_shape, :: tensorflow::Input crops) |
תכונות ציבוריות | |
---|---|
operation | |
output |
תפקידים ציבוריים | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
תכונות ציבוריות
מִבצָע
Operation operation
תְפוּקָה
::tensorflow::Output output
תפקידים ציבוריים
BatchToSpaceND
BatchToSpaceND( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input block_shape, ::tensorflow::Input crops )
צוֹמֶת
::tensorflow::Node * node() const
מפעיל::tensorflow::קלט
operator::tensorflow::Input() const
אופרטור::tensorflow::פלט
operator::tensorflow::Output() const
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-11-24 (שעון UTC).