tensorflow:: ops:: FractionalMaxPool
#include <nn_ops.h>מבצע איגום מקסימלי חלקי על הקלט.
תַקצִיר
איגום מקסימלי חלקי שונה במקצת מאיגום מקסימלי רגיל. באיגום מקסימלי רגיל, מקטינים קבוצת קלט על ידי לקיחת הערך המקסימלי של N x N תת-חלקים קטנים יותר של הקבוצה (לעתים קרובות 2x2), ומנסים להקטין את הקבוצה בגורם של N, כאשר N הוא מספר שלם. איגום מקסימלי חלקי, כפי שניתן לצפות מהמילה "חלקי", פירושו שיחס ההפחתה הכולל N אינו חייב להיות מספר שלם.
גדלי אזורי האיגום נוצרים באופן אקראי אך הם אחידים למדי. לדוגמה, בואו נסתכל על ממד הגובה ועל האילוצים על רשימת השורות שיהיו גבולות האיגום.
ראשית נגדיר את הדברים הבאים:
- input_row_length : מספר השורות מקבוצת הקלט
- output_row_length : שיהיה קטן יותר מהקלט
- alpha = input_row_length / output_row_length : יחס ההפחתה שלנו
- 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
לפרטים נוספים על איגום מקסימלי חלקי, עיינו במאמר זה: בנג'מין גרהם, איגום מקסימלי חלקי
טיעונים:
- היקף: אובייקט היקף
- ערך: 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, נוצר רצף האיגום בצורה פסאודו-אקראית, אחרת, באופן אקראי. עיין במאמר של בנג'מין גרהם, 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: אם seed או seed2 מוגדרים כלא אפס, מחולל המספרים האקראיים נזרע על ידי ה-seed הנתון. אחרת, הוא נזרע על ידי seed אקראי.
- 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( 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 )
פונקציות סטטיות ציבוריות
דטרמיניסטית
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 (שעון UTC).