टेन्सरफ्लो::ऑप्स::फ्रैक्शनलमैक्सपूल

#include <nn_ops.h>

इनपुट पर फ्रैक्शनल मैक्स पूलिंग करता है।

सारांश

फ्रैक्शनल मैक्स पूलिंग, रेगुलर मैक्स पूलिंग से थोड़ी अलग है। रेगुलर मैक्स पूलिंग में, आप इनपुट सेट के छोटे N x N उपखंडों (अक्सर 2x2) का अधिकतम मान लेकर सेट का आकार कम करते हैं, और सेट को N के गुणक से कम करने का प्रयास करते हैं, जहाँ N एक पूर्णांक है। फ्रैक्शनल मैक्स पूलिंग में, जैसा कि नाम से ही स्पष्ट है, कुल कमी अनुपात N का पूर्णांक होना आवश्यक नहीं है।

पूलिंग क्षेत्रों का आकार यादृच्छिक रूप से निर्धारित होता है, लेकिन काफी हद तक एकसमान होता है। उदाहरण के लिए, आइए ऊँचाई आयाम और पंक्तियों की सूची पर लगे प्रतिबंधों को देखें जो पूल की सीमाएँ होंगी।

सबसे पहले हम निम्नलिखित को परिभाषित करते हैं:

  1. input_row_length: इनपुट सेट से पंक्तियों की संख्या
  2. output_row_length: जो इनपुट से छोटा होगा
  3. अल्फा = इनपुट_पंक्ति_लंबाई / आउटपुट_पंक्ति_लंबाई : हमारा कमी अनुपात
  4. K = फ्लोर(अल्फा)
  5. row_pooling_sequence: यह पूल बाउंड्री पंक्तियों की परिणाम सूची है।

तब, row_pooling_sequence को निम्नलिखित शर्तों को पूरा करना चाहिए:

  1. a[0] = 0 : अनुक्रम का पहला मान 0 है
  2. a[end] = इनपुट_पंक्ति_लंबाई : अनुक्रम का अंतिम मान आकार है
  3. K <= (a[i+1] - a[i]) <= K+1 : सभी अंतराल K या K+1 आकार के हैं
  4. पंक्ति_पूलिंग_अनुक्रम की लंबाई = आउटपुट_पंक्ति_लंबाई + 1

फ्रैक्शनल मैक्स पूलिंग के बारे में अधिक जानकारी के लिए, यह पेपर देखें: बेंजामिन ग्राहम, फ्रैक्शनल मैक्स-पूलिंग

तर्क:

  • स्कोप: एक स्कोप ऑब्जेक्ट
  • मान: 4-डी आकार के साथ [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 पर सेट होने पर, पूलिंग अनुक्रम छद्म-यादृच्छिक तरीके से उत्पन्न होता है, अन्यथा, यह यादृच्छिक तरीके से उत्पन्न होता है। छद्म-यादृच्छिक और यादृच्छिक के बीच अंतर जानने के लिए बेंजामिन ग्राहम का शोध पत्र "फ्रैक्शनल मैक्स-पूलिंग" देखें।
  • ओवरलैपिंग: जब इसे True पर सेट किया जाता है, तो इसका मतलब है कि पूलिंग करते समय, आसन्न पूलिंग सेल की सीमा पर स्थित मानों का उपयोग दोनों सेल द्वारा किया जाता है। उदाहरण के लिए:

index 0 1 2 3 4

value 20 5 16 3 7

यदि पूलिंग अनुक्रम [0, 2, 4] है, तो सूचकांक 2 पर स्थित 16 का उपयोग दो बार किया जाएगा। आंशिक अधिकतम पूलिंग के लिए परिणाम [20, 16] होगा।

  • नियतात्मक: जब इसे True पर सेट किया जाता है, तो गणना ग्राफ में FractionalMaxPool नोड पर पुनरावृति करते समय एक निश्चित पूलिंग क्षेत्र का उपयोग किया जाएगा। मुख्य रूप से यूनिट परीक्षण में FractionalMaxPool को नियतात्मक बनाने के लिए उपयोग किया जाता है।
  • सीड: यदि सीड या सीड2 में से कोई भी मान शून्य नहीं है, तो रैंडम नंबर जनरेटर को दिए गए सीड से सीड किया जाता है। अन्यथा, इसे एक रैंडम सीड से सीड किया जाता है।
  • 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)

संरचनाएँ

टेन्सरफ्लो::ऑप्स::फ्रैक्शनलमैक्सपूल::एट्रिब्यूट्स

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
)