सहायता Kaggle पर TensorFlow साथ ग्रेट बैरियर रीफ की रक्षा चैलेंज में शामिल हों

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

#include <nn_ops.h>

इनपुट पर आंशिक अधिकतम पूलिंग करता है।

सारांश

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

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

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

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

फिर, row_pooling_fterence को संतुष्ट करना चाहिए:

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

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

तर्क:

  • गुंजाइश: एक स्कोप ऑब्जेक्ट
  • मूल्य: आकार के साथ 4-डी [batch, height, width, channels]
  • पूलिंग_ अनुपात: value प्रत्येक आयाम के लिए पूलिंग अनुपात, वर्तमान में केवल पंक्ति और कॉल आयाम का समर्थन करता है और होना चाहिए = = 1.0। उदाहरण के लिए, एक वैध पूलिंग अनुपात दिखता है [1.0, 1.44, 1.73, 1.0]। पहला और अंतिम तत्व 1.0 होना चाहिए क्योंकि हम बैच और चैनल आयामों पर पूलिंग की अनुमति नहीं देते हैं। 1.44 और 1.73 क्रमशः ऊंचाई और चौड़ाई आयामों पर पूलिंग अनुपात हैं।

वैकल्पिक विशेषताएँ ( Attrs देखें):

  • pseudo_random: जब True पर सेट किया जाता है, तो पूलिंग क्रम को pseudorandom फैशन में उत्पन्न करता है, अन्यथा, एक यादृच्छिक फैशन में। चेक पेपर बेंजामिन ग्राहम, आंशिक मैक्स पूलिंग छद्म आयामी और यादृच्छिक के बीच अंतर।
  • ओवरलैपिंग: जब ट्रू पर सेट होता है, तो इसका मतलब है कि पूलिंग करते समय, दोनों कोशिकाओं द्वारा आसन्न पूलिंग सेल की सीमा पर मूल्यों का उपयोग किया जाता है। उदाहरण के लिए:

index 0 1 2 3 4

value 20 5 16 3 7

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

  • नियतात्मक: जब ट्रू में सेट किया जाता है, तो एक निश्चित पूलिंग क्षेत्र का उपयोग तब किया जाएगा जब गणना ग्राफ में एक फ्रैक्शनलमैक्सपूल नोड से अधिक पुनरावृति हो। मुख्य रूप से FractionalMaxPool निर्धारक बनाने के लिए इकाई परीक्षण में उपयोग किया जाता है।
  • बीज: यदि या तो बीज या बीज 2 को गैर-शून्य पर सेट किया जाता है, तो यादृच्छिक संख्या जनरेटर को दिए गए बीज द्वारा बोया जाता है। अन्यथा, यह एक यादृच्छिक बीज द्वारा बोया जाता है।
  • seed2: बीज टकराव से बचने के लिए एक दूसरा बीज।

रिटर्न:

  • Output आउटपुट: आंशिक अधिकतम पूलिंग के बाद आउटपुट टेंसर।
  • Output रो_पुलिंग_ परिणाम: पंक्ति पूलिंग अनुक्रम, ग्रेडिएंट की गणना करने के लिए आवश्यक।
  • Output कॉल_पूलिंग_ परिणाम: कॉलम पूलिंग अनुक्रम, ग्रेडिएंट की गणना करने के लिए आवश्यक।

कंस्ट्रक्टर और डिस्ट्रक्टर्स

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 के लिए बसती है

सार्वजनिक विशेषताएँ

col_pooling_fterence

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

बीज २

Attrs Seed2(
  int64 x
)