tensorflow:: ops:: FractionalMaxPool
#include <nn_ops.h>يقوم بتطبيق التجميع الأقصى الجزئي على المدخلات.
ملخص
يختلف التجميع الأقصى الجزئي قليلاً عن التجميع الأقصى العادي. في التجميع الأقصى العادي، يتم تقليص حجم مجموعة المدخلات بأخذ القيمة القصوى لأصغر N × N قسم فرعي من المجموعة (غالباً 2 × 2)، ومحاولة تقليص المجموعة بمعامل N، حيث N عدد صحيح. أما التجميع الأقصى الجزئي، كما هو متوقع من كلمة "جزئي"، فيعني أن نسبة التقليص الإجمالية N لا يشترط أن تكون عددًا صحيحًا.
يتم توليد أحجام مناطق التجميع عشوائيًا ولكنها متجانسة إلى حد كبير. على سبيل المثال، دعونا ننظر إلى بُعد الارتفاع، والقيود المفروضة على قائمة الصفوف التي ستمثل حدود التجميع.
أولاً، نحدد ما يلي:
- طول صف الإدخال: عدد الصفوف من مجموعة الإدخال
- طول_صف_الناتج: والذي سيكون أصغر من طول_صف_المدخل
- ألفا = طول_صف_الإدخال / طول_صف_الإخراج: نسبة التخفيض لدينا
- K = الجزء الصحيح من (ألفا)
- row_pooling_sequence: هذه هي قائمة نتائج صفوف حدود التجميع
بعد ذلك، يجب أن تستوفي row_pooling_sequence الشروط التالية:
- a[0] = 0 : القيمة الأولى في المتتالية هي 0
- a[end] = input_row_length : القيمة الأخيرة في التسلسل هي الحجم
- K <= (a[i+1] - a[i]) <= K+1 : جميع الفترات بحجم K أو K+1
- طول (تسلسل_تجميع_الصفوف) = طول_صف_الإخراج + 1
للحصول على مزيد من التفاصيل حول التجميع الأقصى الجزئي، انظر هذه الورقة البحثية: بنجامين جراهام، التجميع الأقصى الجزئي
الحجج:
- النطاق: كائن النطاق
- القيمة: رباعية الأبعاد مع شكل
[batch, height, width, channels]. - نسبة التجميع: نسبة التجميع لكل بُعد من
value، وهي تدعم حاليًا بُعدي الصف والعمود فقط، ويجب أن تكون أكبر من أو تساوي 1.0. على سبيل المثال، تبدو نسبة التجميع الصحيحة كالتالي: [1.0، 1.44، 1.73، 1.0]. يجب أن يكون العنصران الأول والأخير 1.0 لأننا لا نسمح بالتجميع على بُعدي الدُفعات والقنوات. أما 1.44 و1.73 فهما نسبة التجميع على بُعدي الارتفاع والعرض على التوالي.
السمات الاختيارية (انظر Attrs ):
- pseudo_random: عند ضبطه على "صحيح"، يُولّد تسلسل التجميع بطريقة شبه عشوائية، وإلا فإنه يُولّده بطريقة عشوائية. راجع ورقة بحثية بعنوان "التجميع الأقصى الجزئي" لبنيامين غراهام لمعرفة الفرق بين العشوائية شبه العشوائية والعشوائية.
- التداخل: عند ضبطه على "صحيح"، فهذا يعني أنه عند تجميع البيانات، تُستخدم القيم الموجودة على حدود خلايا التجميع المتجاورة من قِبل كلتا الخليتين. على سبيل المثال:
index 0 1 2 3 4
value 20 5 16 3 7
إذا كانت متتالية التجميع هي [0، 2، 4]، فسيتم استخدام الرقم 16، الموجود في الفهرس 2، مرتين. وستكون النتيجة [20، 16] في حالة التجميع الجزئي الأقصى.
- حتمية: عند ضبطها على "صحيح"، سيتم استخدام منطقة تجميع ثابتة عند التكرار على عقدة FractionalMaxPool في الرسم البياني للحساب. تُستخدم بشكل أساسي في اختبارات الوحدة لجعل FractionalMaxPool حتمية.
- البذرة: إذا تم ضبط قيمة البذرة أو البذرة الثانية على قيمة غير صفرية، فسيتم تهيئة مولد الأرقام العشوائية باستخدام البذرة المعطاة. وإلا، فسيتم تهيئته باستخدام بذرة عشوائية.
- seed2: بذرة ثانية لتجنب تصادم البذور.
المرتجعات:
- الناتج
Output: موتر الناتج بعد التجميع الجزئي الأقصى. -
Outputrow_pooling_sequence: تسلسل تجميع الصفوف، وهو مطلوب لحساب التدرج. -
Outputcol_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 . |
السمات العامة
تسلسل تجميع الأعمدة
::tensorflow::Output col_pooling_sequence
عملية
Operation operation
المخرجات
::tensorflow::Output output
تسلسل تجميع الصفوف
::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 )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2026-11-05 (حسب التوقيت العالمي المتفَّق عليه)