SpaceToDepth

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

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

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

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

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

در نظر گرفتن این عملیات به عنوان تبدیل یک تانسور 6 بعدی مفید است. به عنوان مثال برای data_format = NHWC، هر عنصر در تانسور ورودی را می توان از طریق 6 مختصات مشخص کرد، که با کاهش اهمیت چیدمان حافظه به صورت زیر مرتب می شوند: n,oY,bY,oX,bX,iC (که در آن n=شاخص دسته ای، oX، oY به معنی X است. یا مختصات Y در تصویر خروجی، bX، bY به معنای مختصات در بلوک ورودی، iC به معنای کانال های ورودی است. خروجی یک جابجایی به طرح زیر خواهد بود: n,oY,oX,bY,bX,iC

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

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

x = [[[[1], [2]],
       [[3], [4]]]]
 
این عملیات یک تانسور شکل "[1، 1، 1، 4" را تولید می کند. ]`:
[[[[1, 2, 3, 4]]]]
 
در اینجا، ورودی دارای یک دسته 1 است و هر عنصر دسته ای شکل «[2، 2، 1]» دارد، خروجی مربوطه دارای یک عنصر خواهد بود (یعنی عرض و ارتفاع هر دو 1 هستند) و دارای عمق 4 کانال (1 * block_size * block_size). شکل عنصر خروجی «[1، 1، 4]» است.

برای یک تانسور ورودی با عمق بیشتر، در اینجا شکل «[1، 2، 2، 3]»، به عنوان مثال

x = [[[[1, 2, 3], [4, 5, 6]],
       [[7, 8, 9], [10, 11, 12]]]]
 
این عملیات، برای اندازه بلوک 2، تانسور زیر را به شکل «[1، 1، 1» برمی گرداند، 12]`
[[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
 
به طور مشابه، برای ورودی زیر شکل «[1 4 4 1]»، و اندازه بلوک 2:
x = [[[[1],   [2],  [5],  [6]],
       [[3],   [4],  [7],  [8]],
       [[9],  [10], [13],  [14]],
       [[11], [12], [15],  [16]]]]
 
اپراتور تانسور شکل زیر را «[1 2 2 4]» برمی گرداند. :
x = [[[[1, 2, 3, 4],
        [5, 6, 7, 8]],
       [[9, 10, 11, 12],
        [13, 14, 15, 16]]]]
 

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

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

ثابت ها

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

روش های عمومی

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

روش های ارثی

ثابت ها

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

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

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

روش های عمومی

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

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

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

ایجاد فضای ساکن عمومی SpaceToDepth <T> ( دامنه دامنه ، ورودی عملوند <T>، اندازه بلوک طولانی، گزینه‌ها... گزینه‌ها)

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

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

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

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