BatchToSpace برای تانسورهای ND از نوع T.
این عملیات بعد "دسته" 0 را به ابعاد "M + 1" شکل "شکل_بلوک + [دسته]" تغییر میدهد، این بلوکها را دوباره در شبکهای که با ابعاد فضایی «[1، ...، M]» تعریف شده است، در هم میریزد. برای به دست آوردن نتیجه ای با همان رتبه ورودی. سپس ابعاد فضایی این نتیجه میانی به صورت اختیاری با توجه به "محصولات" برش داده می شود تا خروجی تولید شود. این برعکس SpaceToBatch است. برای توضیحات دقیق به زیر مراجعه کنید.
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
خروجی <T> | asOutput () دسته نمادین تانسور را برمی گرداند. |
استاتیک <T TType > BatchToSpaceNd <T> را گسترش می دهد | |
خروجی <T> | خروجی () |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
خروجی عمومی <T> asOutput ()
دسته نمادین تانسور را برمی گرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
ایستا عمومی BatchToSpaceNd <T> ایجاد ( دامنه دامنه ، ورودی Operand <T>، Operand <? گسترش TNumber > blockShape، Operand <? گسترش TNumber > برش ها)
روش کارخانه برای ایجاد کلاسی که یک عملیات 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، 2، 1]» و مقدار است: (2) برای ورودی شکل زیر «[4, 1, 1, 3]», «block_shape = [ 2، 2]`، و "crops = [[0، 0]، [0، 0]]": تانسور خروجی شکل "[1، 2، 2، 3]" و مقدار: دارد. (3) برای ورودی شکل «[4، 2، 2، 1]»، «شکل_block = [2، 2]» و «crops = [[0، 0]، [0، 0]]»: تانسور خروجی دارای شکل «[1، 4، 4، 1]» و مقدار است: (4) برای ورودی شکل زیر «[8, 1, 3, 1]», «block_shape = [ 2، 2]`، و "crops = [[0، 0]، [2، 0]]": تانسور خروجی شکل "[2، 2، 4، 1]" و مقدار: دارد. |
برمی گرداند
- یک نمونه جدید از BatchToSpaceNd