یک پیچیدگی دوبعدی را با تانسورهای 4 بعدی «ورودی» و «فیلتر» محاسبه میکند.
با توجه به یک تانسور ورودی شکل «[batch, in_height, in_width, in_channels]» و یک فیلتر / تانسور هسته با شکل «[filter_height, filter_width, in_channels, out_channels]», این عملیات موارد زیر را انجام میدهد:
1. فیلتر را به یک ماتریس دو بعدی با شکل «[ارتفاع_فیلتر * عرض_ فیلتر * در کانالها، کانالهای خروجی]» صاف میکند. 2. وصلههای تصویر را از تانسور ورودی استخراج میکند تا یک تانسور مجازی به شکل «[batch, out_height, out_width, filter_height * filter_width * in_channels]». 3. برای هر پچ، ماتریس فیلتر و بردار وصله تصویر را به صورت راست ضرب می کند.
در جزئیات، با فرمت پیشفرض NHWC،
خروجی[b, i, j, k] = sum_{di, dj, q} ورودی[b, strides[1] * i + di, strides[2] * j + dj, q] * filter[di, dj, q، k]
باید «گامها[0] = گامها[3] = 1» داشته باشد. برای رایجترین حالت گامهای افقی و رئوس یکسان، «گامها = [1، گام، گام، 1]».
کلاس های تو در تو
کلاس | Conv2d.Options | ویژگی های اختیاری برای Conv2d |
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
خروجی <T> | asOutput () دسته نمادین تانسور را برمی گرداند. |
static <T TNumber > Conv2d <T> را گسترش می دهد | ایجاد (حوزه دامنه ، ورودی عملوند <T>، فیلتر عملوند <T>، گامهای فهرست <طولانی، لایهبندی رشته، گزینهها... گزینهها) روش کارخانه برای ایجاد کلاسی که یک عملیات Conv2d جدید را بسته بندی می کند. |
Static Conv2d.Options | dataFormat (String dataFormat) |
Static Conv2d.Options | اتساع (List<Long> dilation) |
Static Conv2d.Options | explicitPaddings (List<Long> explicitPaddings) |
خروجی <T> | خروجی () یک تانسور 4 بعدی |
Static Conv2d.Options | useCudnnOnGpu (استفاده بولیCudnnOnGpu) |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
خروجی عمومی <T> asOutput ()
دسته نمادین تانسور را برمی گرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
عمومی استاتیک Conv2d <T> ایجاد (حوزه دامنه ، ورودی عملوند <T>، فیلتر عملوند <T>، فهرست <طولانی> گامها، لایهبندی رشته، گزینهها... گزینهها)
روش کارخانه برای ایجاد کلاسی که یک عملیات Conv2d جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
ورودی | یک تانسور 4 بعدی ترتیب ابعاد با توجه به مقدار «قالب_داده» تفسیر می شود، برای جزئیات به زیر مراجعه کنید. |
فیلتر | یک تانسور 4 بعدی با شکل «[ارتفاع_فیلتر، عرض_فیلتر، درون_کانال، کانال_خارج]" |
گام برداشت | تانسور 1 بعدی به طول 4. گام پنجره کشویی برای هر بعد «ورودی». ترتیب ابعاد با مقدار «قالب_داده» تعیین می شود، برای جزئیات به زیر مراجعه کنید. |
لایه گذاری | نوع الگوریتم padding مورد استفاده. |
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از Conv2d
public static Conv2d.Options dataFormat (String dataFormat)
مولفه های
dataFormat | فرمت داده داده های ورودی و خروجی را مشخص کنید. با فرمت پیش فرض "NHWC"، داده ها به ترتیب زیر ذخیره می شوند: [دسته، ارتفاع، عرض، کانال]. از طرف دیگر، قالب می تواند "NCHW" باشد، ترتیب ذخیره سازی داده ها: [دسته، کانال، ارتفاع، عرض]. |
---|
اتساع Conv2d.Options ثابت عمومی (List<Long> dilation)
مولفه های
اتساع | تانسور 1 بعدی به طول 4. ضریب اتساع برای هر بعد «ورودی». اگر روی k> 1 تنظیم شود، بین هر عنصر فیلتر در آن بعد، سلول های k-1 پرش شده وجود خواهد داشت. ترتیب ابعاد با مقدار "قالب_داده" تعیین می شود، برای جزئیات بیشتر به بالا مراجعه کنید. اتساع در ابعاد دسته ای و عمقی باید 1 باشد. |
---|
public static Conv2d.Options explicitPaddings (List<Long> explicitPaddings)
مولفه های
صریح پدینگ | اگر «پردهسازی» «EXPLICIT» باشد، فهرستی از مقادیر صریح padding. برای بعد ith، مقدار padding درج شده قبل و بعد از بعد به ترتیب "paddings_explicit[2 * i]" و "explicit_paddings[2 * i + 1]" است. اگر «padding» «EXPLICIT» نیست، «paddings_explicit» باید خالی باشد. |
---|
خروجی عمومی <T> خروجی ()
یک تانسور 4 بعدی ترتیب ابعاد با مقدار «قالب_داده» تعیین می شود، برای جزئیات به زیر مراجعه کنید.