DepthToSpace

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

DepthToSpace برای تانسورهای نوع T.

داده ها را از عمق به بلوک های داده های مکانی بازآرایی می کند. این تبدیل معکوس SpaceToDepth است. به طور خاص، این عملیات یک کپی از تانسور ورودی را که در آن مقادیر از بعد «عمق» در بلوک‌های فضایی به ابعاد «ارتفاع» و «عرض» منتقل می‌شود، خروجی می‌دهد. attr `block_size` اندازه بلوک ورودی و نحوه انتقال داده ها را نشان می دهد.

* تکه‌هایی از داده‌های اندازه «block_size * block_size» از عمق به بلوک‌های غیر همپوشانی با اندازه «block_size x block_size» مرتب می‌شوند. * مختصات Y، X در هر بلوک از تصویر خروجی توسط جزء مرتبه بالای شاخص کانال ورودی تعیین می شود. * عمق تانسور ورودی باید بر "block_size * block_size" تقسیم شود.

"قالب_داده" attr طرح تانسورهای ورودی و خروجی را با گزینه های زیر مشخص می کند: "NHWC": `[ دسته، ارتفاع، عرض، کانال ها ]` "NCHW": `[ دسته، کانال ها، ارتفاع، عرض ]` " NCHW_VECT_C": `qint8 [ دسته، کانال / 4، ارتفاع، عرض، 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

این عملیات برای تغییر اندازه فعال‌سازی‌ها بین کانولوشن‌ها (اما حفظ تمام داده‌ها) مفید است، به عنوان مثال به جای ادغام. همچنین برای آموزش مدل های صرفاً کانولوشن مفید است.

برای مثال، با توجه به ورودی شکل «[1، 1، 1، 4]»، data_format = "NHWC" و block_size = 2:

x = [[[[1, 2, 3, 4]]]]
 
 
این عملیات یک تانسور شکل "[1، 2، 2، 1" را تولید می کند. ]`:
[[[[1], [2]],
      [[3], [4]]]]
 
در اینجا، ورودی دارای یک دسته 1 است و هر عنصر دسته ای شکل «[1، 1، 4]» دارد، خروجی مربوطه دارای عناصر 2x2 و عمق 1 کانال خواهد بود (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]]]]
 
 
به طور مشابه، برای ورودی زیر شکل «[1 2 2 4]»، و اندازه بلوک 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]]]]
 
 

کلاس های تو در تو

کلاس DepthToSpace.Options ویژگی های اختیاری برای DepthToSpace

ثابت ها

رشته OP_NAME نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود

روش های عمومی

خروجی <T>
asOutput ()
دسته نمادین تانسور را برمی گرداند.
static <T TType > DepthToSpace <T> را گسترش می دهد
ایجاد (حوزه دامنه ، ورودی Operand <T>، Long blockSize، گزینه‌ها... گزینه‌ها)
روش کارخانه برای ایجاد کلاسی که یک عملیات DepthToSpace جدید را بسته بندی می کند.
استاتیک DepthToSpace.Options
dataFormat (String dataFormat)
خروجی <T>

روش های ارثی

ثابت ها

رشته نهایی ثابت عمومی OP_NAME

نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود

مقدار ثابت: "DepthToSpace"

روش های عمومی

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

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

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

عمومی استاتیک DepthToSpace <T> ایجاد (حوزه دامنه ، ورودی Operand <T>، Long blockSize، گزینه‌ها... گزینه‌ها)

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

مولفه های
محدوده محدوده فعلی
اندازه بلوک اندازه بلوک فضایی، مانند Space2Depth.
گزینه ها مقادیر ویژگی های اختیاری را حمل می کند
برمی گرداند
  • یک نمونه جدید از DepthToSpace

عمومی استاتیک DepthToSpace.Options dataFormat (String dataFormat)

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