جریان تنسور:: عملیات:: FractionalMaxPool

#include <nn_ops.h>

ادغام حداکثر کسری را روی ورودی انجام می دهد.

خلاصه

ماکسیمم جمع بندی فراکشنال کمی متفاوت از جمع حداکثری معمولی است. در ادغام حداکثر معمولی، یک مجموعه ورودی را با در نظر گرفتن حداکثر مقدار N x N زیربخش های مجموعه کوچکتر می کنید (اغلب 2x2)، و سعی می کنید مجموعه را با ضریب N کاهش دهید، جایی که N یک عدد صحیح است. ادغام حداکثر کسری، همانطور که ممکن است از کلمه "کسری" انتظار داشته باشید، به این معنی است که نسبت کاهش کلی N لازم نیست یک عدد صحیح باشد.

اندازه مناطق ادغام به طور تصادفی ایجاد می شود اما نسبتاً یکنواخت است. به عنوان مثال، اجازه دهید به بعد ارتفاع و محدودیت‌های موجود در لیست ردیف‌هایی که مرزهای استخر هستند نگاه کنیم.

ابتدا موارد زیر را تعریف می کنیم:

  1. input_row_length: تعداد ردیف‌های مجموعه ورودی
  2. output_row_length : که کوچکتر از ورودی خواهد بود
  3. alpha = input_row_length / output_row_length : نسبت کاهش ما
  4. K = طبقه (آلفا)
  5. row_pooling_sequence : این لیست نتایج سطرهای مرزی استخر است

سپس، row_pooling_sequence باید این موارد را برآورده کند:

  1. a[0] = 0: اولین مقدار دنباله 0 است
  2. a[end] = input_row_length : آخرین مقدار دنباله اندازه است
  3. K <= (a[i+1] - a[i]) <= K+1 : همه فواصل زمانی K یا K+1 هستند
  4. طول (row_pooling_sequence) = output_row_length+1

برای جزئیات بیشتر در مورد جمع آوری حداکثر کسری، به این مقاله مراجعه کنید: Benjamin Graham, Fractional Max-Pooling

استدلال ها:

  • scope: یک شی Scope
  • مقدار: 4-D با شکل [batch, height, width, channels] .
  • pooling_ratio: نسبت ادغام برای هر بعد از value ، در حال حاضر فقط از بعد ردیف و ستون پشتیبانی می کند و باید >= 1.0 باشد. برای مثال، یک نسبت ادغام معتبر مانند [1.0، 1.44، 1.73، 1.0] به نظر می رسد. اولین و آخرین عنصر باید 1.0 باشد زیرا ما اجازه ادغام در ابعاد دسته ای و کانال ها را نمی دهیم. 1.44 و 1.73 به ترتیب نسبت ادغام در ابعاد ارتفاع و عرض هستند.

ویژگی های اختیاری (به Attrs مراجعه کنید):

  • pseudo_random: وقتی روی True تنظیم شود، دنباله ادغام را به صورت شبه تصادفی تولید می کند، در غیر این صورت، به صورت تصادفی. مقاله Benjamin Graham، Fractional Max-Pooling را برای تفاوت بین شبه تصادفی و تصادفی بررسی کنید.
  • همپوشانی: وقتی روی True تنظیم می شود، به این معنی است که هنگام ادغام، مقادیر در مرز سلول های ادغام مجاور توسط هر دو سلول استفاده می شود. مثلا:

index 0 1 2 3 4

value 20 5 16 3 7

اگر دنباله ادغام [0، 2، 4] باشد، 16 در شاخص 2 دو بار استفاده خواهد شد. نتیجه [20، 16] برای ادغام حداکثر کسری خواهد بود.

  • قطعی: هنگامی که روی True تنظیم می شود، هنگام تکرار بر روی یک گره FractionalMaxPool در نمودار محاسباتی، از یک ناحیه تجمیع ثابت استفاده می شود. عمدتاً در آزمون واحد برای قطعی کردن FractionalMaxPool استفاده می شود.
  • seed: اگر دانه یا seed2 غیر صفر باشد، مولد اعداد تصادفی توسط دانه داده شده بذر می شود. در غیر این صورت، توسط یک بذر تصادفی بذر می شود.
  • seed2: دانه دوم برای جلوگیری از برخورد دانه.

برمی گرداند:

  • خروجی Output : تانسور خروجی پس از ادغام حداکثر کسری.
  • row_pooling_sequence Output : دنباله ادغام ردیف، برای محاسبه گرادیان مورد نیاز است.
  • Output col_pooling_sequence: توالی ادغام ستون، برای محاسبه گرادیان مورد نیاز است.

سازندگان و ویرانگرها

FractionalMaxPool (const :: tensorflow::Scope & scope, :: tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio)
FractionalMaxPool (const :: tensorflow::Scope & scope, :: tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs)

صفات عمومی

col_pooling_sequence
operation
output
row_pooling_sequence

توابع استاتیک عمومی

Deterministic (bool x)
Overlapping (bool x)
PseudoRandom (bool x)
Seed (int64 x)
Seed2 (int64 x)

سازه ها

tensorflow:: ops:: FractionalMaxPool:: Attrs

تنظیم کننده های ویژگی اختیاری برای FractionalMaxPool .

صفات عمومی

col_pooling_sequence

::tensorflow::Output col_pooling_sequence

عمل

Operation operation

خروجی

::tensorflow::Output output

row_pooling_sequence

::tensorflow::Output row_pooling_sequence

توابع عمومی

FractionalMaxPool

 FractionalMaxPool(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input value,
  const gtl::ArraySlice< float > & pooling_ratio
)

FractionalMaxPool

 FractionalMaxPool(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input value,
  const gtl::ArraySlice< float > & pooling_ratio,
  const FractionalMaxPool::Attrs & attrs
)

توابع استاتیک عمومی

قطعی

Attrs Deterministic(
  bool x
)

با هم تداخل دارند

Attrs Overlapping(
  bool x
)

شبه تصادفی

Attrs PseudoRandom(
  bool x
)

بذر

Attrs Seed(
  int64 x
)

دانه 2

Attrs Seed2(
  int64 x
)