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 ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-26 (שעון UTC).