تدفق التوتر:: العمليات:: 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 /put_row_length: نسبة التخفيض لدينا
  4. ك = الكلمة (ألفا)
  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. length(row_pooling_sequence) =put_row_length+1

لمزيد من التفاصيل حول التجميع الجزئي الأقصى، راجع هذه المقالة: Benjamin Graham، Fractional Max-Pooling

الحجج:

  • النطاق: كائن النطاق
  • القيمة: 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 حتمية.
  • البذرة: إذا تم تعيين البذرة أو البذرة 2 على قيمة غير صفرية، فسيتم بذرة مولد الأرقام العشوائية بواسطة البذرة المعطاة. خلاف ذلك، يتم زرعها بواسطة بذرة عشوائية.
  • بذرة 2: بذرة ثانية لتجنب اصطدام البذور.

عائدات:

  • إخراج 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
)