tensorflow:: عملیات:: 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: این لیست نتیجه‌ی ردیف‌های مرزی pool است.

سپس، 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) = طول_row_output+1

برای جزئیات بیشتر در مورد تجمع حداکثر کسری، به این مقاله مراجعه کنید: بنجامین گراهام، تجمع حداکثر کسری

استدلال‌ها:

  • دامنه: یک شیء دامنه
  • مقدار: چهاربعدی با شکل [batch, height, width, channels] .
  • pooling_ratio: نسبت ادغام برای هر بُعد از value ، در حال حاضر فقط از بُعد سطر و ستون پشتیبانی می‌کند و باید بزرگتر یا مساوی ۱.۰ باشد. برای مثال، یک نسبت ادغام معتبر به صورت [۱.۰، ۱.۴۴، ۱.۷۳، ۱.۰] است. عناصر اول و آخر باید ۱.۰ باشند زیرا ما اجازه ادغام در ابعاد دسته‌ای و کانال‌ها را نمی‌دهیم. ۱.۴۴ و ۱.۷۳ به ترتیب نسبت ادغام در ابعاد ارتفاع و عرض هستند.

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

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

index 0 1 2 3 4

value 20 5 16 3 7

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

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

بازده:

  • Output : تانسور خروجی پس از حداکثر تجمع کسری.
  • Output row_pooling_sequence: توالی ادغام سطرها، مورد نیاز برای محاسبه گرادیان.
  • 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:: عملیات:: FractionalMaxPool:: جذابیت‌ها

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

ویژگی‌های عمومی

توالی_جمع_ستونی

::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
)

سید۲

Attrs Seed2(
  int64 x
)