SpaceToBatchNd

পাবলিক ফাইনাল ক্লাস SpaceToBatchNd

T টাইপের ND টেনসরের জন্য SpaceToBatch।

এই ক্রিয়াকলাপটি ইনপুটের "স্থানিক" মাত্রাগুলিকে `[1, ..., M]` আকৃতির ব্লকের গ্রিডে `block_shape` ভাগ করে এবং এই ব্লকগুলিকে "ব্যাচ" মাত্রা (0) এর সাথে আন্তঃবিভক্ত করে যেমন আউটপুটে , স্থানিক মাত্রা `[1, ..., M]` গ্রিডের মধ্যে অবস্থানের সাথে মিলে যায়, এবং ব্যাচের মাত্রা একটি স্থানিক ব্লকের মধ্যে অবস্থান এবং মূল ব্যাচ অবস্থান উভয়কে একত্রিত করে। ব্লকে বিভক্ত করার আগে, ইনপুটের স্থানিক মাত্রাগুলি ঐচ্ছিকভাবে শূন্য প্যাড করা হয় `প্যাডিং` অনুযায়ী। একটি সুনির্দিষ্ট বিবরণের জন্য নীচে দেখুন.

এই অপারেশনটি নিম্নলিখিত ধাপগুলির সমতুল্য:

1. জিরো-প্যাড ইনপুটের শুরু এবং শেষের মাত্রা `[1, ..., M]` আকৃতির `প্যাডেড_শেপ` তৈরি করতে `প্যাডিং` অনুযায়ী।

2. আকৃতির `প্যাডেড` থেকে `পুনরায় আকৃতির_প্যাডেড` রুপান্তর করুন:

[ব্যাচ] + [প্যাডেড_শেপ[1] / ব্লক_শেপ[0], ব্লক_শেপ[0], ..., প্যাডেড_শেপ[এম] / ব্লক_শেপ[এম-1], ব্লক_শেপ[এম-1]] + বাকি_আকৃতি

3. আকৃতির `permuted_reshaped_padded` তৈরি করতে `reshaped_padded` এর পারমিউট মাত্রা:

ব্লক_শেপ + [ব্যাচ] + [প্যাডেড_শেপ[1] / ব্লক_শেপ[0], ..., প্যাডেড_শেপ[এম] / ব্লক_শেপ[এম-1]] + বাকি_আকৃতি

4. আকৃতির একটি আউটপুট টেনসর তৈরি করে, ব্যাচের ডাইমেনশনে `ব্লক_শেপ` সমতল করতে `পারমুটেড_রিশেপড_প্যাডেড` পুনরায় আকার দিন:

[ব্যাচ * প্রোড(ব্লক_শেপ)] + [প্যাডেড_শেপ[1] / ব্লক_শেপ[0], ..., প্যাডেড_শেপ[এম] / ব্লক_শেপ[এম-1]] + বাকি_আকৃতি

কিছু উদাহরণ:

(1) আকৃতির নিম্নলিখিত ইনপুটের জন্য `[1, 2, 2, 1]`, `block_shape = [2, 2]`, এবং `paddings = [[0, 0], [0, 0]]`:

x = [[[[1], [2]], [[3], [4]]]]
 
আউটপুট টেনসরের আকৃতি আছে `[4, 1, 1, 1]` এবং মান:
[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
 
(2) আকৃতির নিম্নলিখিত ইনপুটের জন্য `[1, 2, 2, 3]`, `block_shape = [ 2, 2]`, এবং `প্যাডিং = [[0, 0], [0, 0]]`:
x = [[[[1, 2, 3], [4, 5, 6]],
       [[7, 8, 9], [10, 11, 12]]]]
 
আউটপুট টেনসরের আকৃতি আছে `[4, 1, 1, 3]` এবং মান:
[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]
 
(3) আকৃতির নিম্নলিখিত ইনপুটের জন্য `[1, 4, 4, 1]`, `block_shape = [2, 2]`, এবং `paddings = [[0, 0], [0, 0]]`:
x = [[[[1],   [2],  [3],  [4]],
       [[5],   [6],  [7],  [8]],
       [[9],  [10], [11],  [12]],
       [[13], [14], [15],  [16]]]]
 
আউটপুট টেনসরের আকৃতি আছে `[4, 2, 2, 1]` এবং মান:
x = [[[[1], [3]], [[9], [11]]],
      [[[2], [4]], [[10], [12]]],
      [[[5], [7]], [[13], [15]]],
      [[[6], [8]], [[14], [16]]]]
 
(4) নিচের আকারের ইনপুটের জন্য `[2, 2, 4, 1]`, block_shape = `[ 2, 2]`, এবং প্যাডিং = `[[0, 0], [2, 0]]`:
x = [[[[1],   [2],  [3],  [4]],
       [[5],   [6],  [7],  [8]]],
      [[[9],  [10], [11],  [12]],
       [[13], [14], [15],  [16]]]]
 
আউটপুট টেনসরের আকৃতি আছে `[8, 1, 3, 1]` এবং মান:
x = [[[[0], [1], [3]]], [[[0], [9], [11]]],
      [[[0], [2], [4]]], [[[0], [10], [12]]],
      [[[0], [5], [7]]], [[[0], [13], [15]]],
      [[[0], [6], [8]]], [[[0], [14], [16]]]]
 
অন্যদের মধ্যে, এই অপারেশনটি অ্যাট্রাস কনভলিউশনকে নিয়মিত কনভলিউশনে কমানোর জন্য কার্যকর।

পাবলিক পদ্ধতি

আউটপুট <T>
আউটপুট হিসাবে ()
একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।
স্ট্যাটিক <T, U প্রসারিত করে সংখ্যা, V প্রসারিত করে সংখ্যা> SpaceToBatchNd <T>
তৈরি করুন ( স্কোপ স্কোপ, Operand <T> ইনপুট, Operand <U> ব্লকশেপ, Operand <V> প্যাডিং)
একটি নতুন SpaceToBatchNd অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
আউটপুট <T>

উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি

পাবলিক পদ্ধতি

সর্বজনীন আউটপুট <T> হিসাবে আউটপুট ()

একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।

TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি প্রতীকী হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনাকে প্রতিনিধিত্ব করে।

পাবলিক স্ট্যাটিক SpaceToBatchNd <T> তৈরি করুন ( স্কোপ স্কোপ, Operand <T> ইনপুট, Operand <U> ব্লকশেপ, Operand <V> প্যাডিং)

একটি নতুন SpaceToBatchNd অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।

পরামিতি
সুযোগ বর্তমান সুযোগ
ইনপুট আকৃতির সাথে ND `ইনপুট_শেপ = [ব্যাচ] + স্থানিক_আকৃতি + অবশিষ্ট_আকৃতি`, যেখানে স্থানিক_আকৃতির `M` মাত্রা আছে।
ব্লকশেপ `[M]` আকৃতি সহ 1-D, সমস্ত মান অবশ্যই >= 1 হতে হবে।
প্যাডিং `[M, 2]` আকৃতি সহ 2-D, সমস্ত মান অবশ্যই >= 0 হতে হবে। `প্যাডিং[i] = [প্যাড_স্টার্ট, প্যাড_এন্ড]` ইনপুট মাত্রা `i + 1` এর জন্য প্যাডিং নির্দিষ্ট করে, যা স্থানিক মাত্রার সাথে মিলে যায় `আমি` এটি প্রয়োজনীয় যে `block_shape[i]` `input_shape[i + 1] + pad_start + pad_end` ভাগ করে।
রিটার্নস
  • SpaceToBatchNd এর একটি নতুন উদাহরণ

সর্বজনীন আউটপুট <T> আউটপুট ()