টেনসরফ্লো :: অপস:: ভগ্নাংশ ম্যাক্সপুল

#include <nn_ops.h>

ইনপুটে ভগ্নাংশের সর্বোচ্চ পুলিং সঞ্চালন করে।

সারাংশ

ভগ্নাংশ সর্বোচ্চ পুলিং নিয়মিত সর্বোচ্চ পুলিং থেকে সামান্য ভিন্ন। নিয়মিত সর্বোচ্চ পুলিং-এ, আপনি সেটের ছোট N x N উপবিভাগের সর্বোচ্চ মান (প্রায়শই 2x2) নিয়ে একটি ইনপুট সেটের আকার ছোট করেন এবং N এর একটি ফ্যাক্টর দ্বারা সেট কমানোর চেষ্টা করেন, যেখানে N একটি পূর্ণসংখ্যা। ভগ্নাংশের সর্বোচ্চ পুলিং, যেমন আপনি "ভগ্নাংশ" শব্দ থেকে আশা করতে পারেন, এর অর্থ হল সামগ্রিক হ্রাস অনুপাত N একটি পূর্ণসংখ্যা হতে হবে না।

পুলিং অঞ্চলগুলির আকারগুলি এলোমেলোভাবে তৈরি করা হয় তবে মোটামুটি অভিন্ন। উদাহরণস্বরূপ, আসুন উচ্চতার মাত্রা এবং সারিগুলির তালিকার সীমাবদ্ধতাগুলি দেখি যা পুলের সীমানা হবে৷

প্রথমে আমরা নিম্নলিখিত সংজ্ঞায়িত করি:

  1. input_row_length : ইনপুট সেট থেকে সারির সংখ্যা
  2. output_row_length : যা ইনপুট থেকে ছোট হবে
  3. আলফা = input_row_length / output_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. দৈর্ঘ্য(সারি_পুলিং_সিকোয়েন্স) = আউটপুট_সারি_দৈর্ঘ্য +1

ভগ্নাংশের সর্বোচ্চ পুলিং সম্পর্কে আরও বিস্তারিত জানার জন্য, এই কাগজটি দেখুন: বেঞ্জামিন গ্রাহাম, ফ্র্যাকশনাল ম্যাক্স-পুলিং

যুক্তি:

  • স্কোপ: একটি স্কোপ অবজেক্ট
  • মান: 4-D আকার সহ [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 এ সেট করা হলে, একটি ছদ্ম র্যান্ডম ফ্যাশনে পুলিং সিকোয়েন্স তৈরি করে, অন্যথায়, এলোমেলো ফ্যাশনে। সিউডোর্যান্ডম এবং এলোমেলো মধ্যে পার্থক্যের জন্য কাগজ বেঞ্জামিন গ্রাহাম, ফ্র্যাকশনাল ম্যাক্স-পুলিং পরীক্ষা করুন।
  • ওভারল্যাপিং: যখন True তে সেট করা হয়, এর মানে হল যখন পুলিং করা হয়, তখন উভয় কক্ষের দ্বারা সংলগ্ন পুলিং ঘরের সীমানার মান ব্যবহার করা হয়। যেমন:

index 0 1 2 3 4

value 20 5 16 3 7

যদি পুলিং ক্রম [0, 2, 4] হয়, তাহলে 16, সূচক 2 এ দুবার ব্যবহার করা হবে। ভগ্নাংশের সর্বোচ্চ পুলিংয়ের জন্য ফলাফল হবে [20, 16]।

  • deterministic: যখন True সেট করা হয়, গণনা গ্রাফে একটি FractionalMaxPool নোডের উপর পুনরাবৃত্তি করার সময় একটি নির্দিষ্ট পুলিং অঞ্চল ব্যবহার করা হবে। FractionalMaxPool নির্ধারক করতে প্রধানত ইউনিট পরীক্ষায় ব্যবহৃত হয়।
  • বীজ: যদি বীজ বা বীজ2 অ-শূন্য সেট করা হয়, তাহলে প্রদত্ত বীজ দ্বারা এলোমেলো সংখ্যা জেনারেটর বীজ হয়। অন্যথায়, এটি একটি এলোমেলো বীজ দ্বারা বীজ হয়।
  • বীজ 2: বীজ সংঘর্ষ এড়াতে একটি দ্বিতীয় বীজ।

রিটার্ন:

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

কাঠামো

tensorflow:: ops:: FractionalMaxPool:: Attrs

FractionalMaxPool- এর জন্য ঐচ্ছিক অ্যাট্রিবিউট সেটার।

পাবলিক বৈশিষ্ট্য

col_pooling_sequence

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