BatchToSpaceNd

کلاس نهایی عمومی BatchToSpaceNd

BatchToSpace برای تانسورهای ND از نوع T.

این عملیات بعد "دسته" 0 را به ابعاد "M + 1" شکل "شکل_بلوک + [دسته]" تغییر می‌دهد، این بلوک‌ها را دوباره در شبکه‌ای که با ابعاد فضایی «[1، ...، M]» تعریف شده است، در هم می‌ریزد. برای به دست آوردن نتیجه ای با همان رتبه ورودی. سپس ابعاد فضایی این نتیجه میانی به صورت اختیاری با توجه به "محصولات" برش داده می شود تا خروجی تولید شود. این برعکس SpaceToBatch است. برای توضیحات دقیق به زیر مراجعه کنید.

روش های عمومی

خروجی <T>
asOutput ()
دسته نمادین یک تانسور را برمی‌گرداند.
static <T، U تعداد را گسترش می دهد، V شماره را گسترش می دهد> BatchToSpaceNd <T>
ایجاد ( Scope scope، ورودی Operand <T>، Operand <U> blockShape، Operand <V> crop)
روش کارخانه برای ایجاد کلاسی که یک عملیات BatchToSpaceNd جدید را بسته بندی می کند.
خروجی <T>

روش های ارثی

روش های عمومی

خروجی عمومی <T> asOutput ()

دسته نمادین یک تانسور را برمی‌گرداند.

ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.

ایجاد عمومی BatchToSpaceNd <T> _ _

روش کارخانه برای ایجاد کلاسی که یک عملیات BatchToSpaceNd جدید را بسته بندی می کند.

مولفه های
محدوده محدوده فعلی
ورودی ND با شکل "input_shape = [batch] + spatial_shape + باقیمانده_شکل"، که در آن spatial_shape دارای ابعاد M است.
بلوک شکل 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]».

این عملیات معادل مراحل زیر است:

1. «ورودی» را به شکل «تغییر شکل» تغییر دهید: [block_shape[0]، ...، block_shape[M-1]، batch / prod(block_shape)، input_shape[1]، ...، input_shape[N- 1]]

2. ابعاد "تغییر شکل" را تغییر دهید تا "تغییر" شکل [دسته / پرود((block_shape) ایجاد شود،

input_shape[1]، block_shape[0]، ...، input_shape[M]، block_shape[M-1]،

ورودی_شکل[M+1]، ...، شکل_ورودی[N-1]]

3. شکل "جایگزیده" را تغییر دهید تا "تغییر_نگشته" شکل [batch / prod(block_shape) ایجاد شود.

input_shape[1] * block_shape[0]، ...، input_shape[M] * block_shape[M-1]،

ورودی_شکل[M+1]، ...، شکل_ورودی[N-1]]

4. ابتدا و انتهای ابعاد «[1، ...، M]» از «تغییر شکل داده شده» را با توجه به «crops» برش دهید تا خروجی شکل ایجاد شود: [batch / prod(block_shape),

input_shape[1] * block_shape[0] - محصولات[0,0] - محصولات[0,1]، ...، input_shape[M] * block_shape[M-1] - محصولات[M-1,0] - محصولات زراعی [M-1,1]،

ورودی_شکل[M+1]، ...، شکل_ورودی[N-1]]

چند نمونه:

(1) برای ورودی شکل «[4، 1، 1، 1]»، «شکل_block = [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 = [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]]]]
 
دارد.

برمی گرداند
  • یک نمونه جدید از BatchToSpaceNd

خروجی عمومی <T> خروجی ()