সেন্সরফ্লো :: অপস :: DepthToSpace

#include <array_ops.h>

টাইপ টি এর টেনারগুলির জন্য ডিপথটোস্পেস

সারসংক্ষেপ

স্থানিক ডেটাগুলির ব্লকগুলিতে গভীরতা থেকে ডেটা পুনরায় সাজায়। এটি স্পেসটোডেপথের বিপরীত রূপান্তর। আরও সুনির্দিষ্টভাবে, এই বিকল্পটি ইনপুট টেনসারের একটি অনুলিপি দেয় যেখানে depth মাত্রা থেকে মানগুলি স্থানিক ব্লকগুলিতে height এবং width মাত্রায় স্থানান্তরিত হয়। block_size ইনপুট ব্লকের আকার এবং কীভাবে ডেটা স্থানান্তরিত হয় তা নির্দেশ করে।

  • সাইজ block_size * block_size সাইজের ডেটা block_size * block_size গভীরতা থেকে পুনরায় সাজানো হয় আকারের অ-ওভারল্যাপিং block_size x block_size
  • আউটপুট টেনসরের input_depth * block_size , তবে উচ্চতা input_height * block_size উচ্চতা input_height * block_size
  • আউটপুট চিত্রের প্রতিটি ব্লকের মধ্যে Y, X স্থানাঙ্কগুলি ইনপুট চ্যানেল সূচকের হাই অর্ডার উপাদান দ্বারা নির্ধারিত হয়।
  • ইনপুট টেনসরের গভীরতা অবশ্যই block_size * block_size দ্বারা বিভাজ্য হতে হবে।

data_format নীচের বিকল্পগুলির সাথে ইনপুট এবং আউটপুট data_format বিন্যাস নির্দিষ্ট করে: "এনএইচডব্লিউসি": [ batch, height, width, channels ] "এনসিএইচডাব্লু": [ batch, channels, height, width ] "এনসিএইচডাব্লু_ভিইসিT_সি": qint8 [ batch, channels / 4, height, width, 4 ]

অপারেশনটিকে 6-ডি টেনসরের রূপান্তর হিসাবে বিবেচনা করা কার্যকর। উদাহরণস্বরূপ ডেটা_ফর্ম্যাট = এনএইচডাব্লুসি, ইনপুট টেনসরের প্রতিটি উপাদান 6 টি স্থানাঙ্কের মাধ্যমে নির্দিষ্ট করা যেতে পারে, মেমরির বিন্যাসের তাত্পর্য হ্রাস করে অর্ডার করা হয়: এন, আইওয়াই, আইএক্স, বিওয়াই, বিএক্স, ওসি (যেখানে এন = ব্যাচ সূচক, আইএক্স, আইওয়াই মানে এক্স) অথবা Y ইনপুট চিত্রের মধ্যে স্থানাঙ্ক, বিএক্স, বিওয়াই মানে আউটপুট ব্লকের মধ্যে স্থানাঙ্ক, ওসি মানে আউটপুট চ্যানেল)। আউটপুটটি নিম্নলিখিত লেআউটে স্থানান্তরিত ইনপুট হবে: এন, আইওয়াই, বিওয়াই, আইএক্স, বিএক্স, ওসি

এই অপারেশনটি কনভোলিউশনের মধ্যে অ্যাক্টিভেশনগুলির আকার পরিবর্তন করতে (তবে সমস্ত ডেটা রাখার জন্য) যেমন পুলিংয়ের পরিবর্তে দরকারী। এটি খাঁটি সমঝোতা মডেলগুলির প্রশিক্ষণের জন্যও কার্যকর।

উদাহরণস্বরূপ, আকারের একটি ইনপুট দেওয়া হয়েছে [1, 1, 1, 4] , ডেটা_ফর্ম্যাট = "এনএইচডব্লিউসি" এবং ব্লক_সাইজ = 2:

x = [[[[1, 2, 3, 4]]]]

  

This operation will output a tensor of shape [1, 2, 2, 1]:

   [[[[1], [2]],
     [[3], [4]]]]

এখানে, ইনপুটটির 1 টি ব্যাচ রয়েছে এবং প্রতিটি ব্যাচের উপাদানটির আকার রয়েছে [1, 1, 4] , সংশ্লিষ্ট আউটপুটটিতে 2x2 উপাদান থাকবে এবং 1 চ্যানেলটির গভীরতা থাকবে (1 = 4 / (block_size * block_size) )। আউটপুট উপাদান আকার [2, 2, 1]

বৃহত্তর গভীরতা সহ একটি ইনপুট টেনসারের জন্য, এখানে আকারের [1, 1, 1, 12] , যেমন

x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]

2 টি ব্লকের আকারের জন্য এই ক্রিয়াকলাপটি নীচের আকারের টেনসরটি [1, 2, 2, 3] ফিরিয়ে দেবে

   [[[[1, 2, 3], [4, 5, 6]],
     [[7, 8, 9], [10, 11, 12]]]]

  

Similarly, for the following input of shape [1 2 2 4], and a block size of 2:

x =  [[[[1, 2, 3, 4],
       [5, 6, 7, 8]],
      [[9, 10, 11, 12],
       [13, 14, 15, 16]]]]

অপারেটর নীচের আকারের টেন্সরটি [1 4 4 1] :

x = [[[ [1],   [2],  [5],  [6]],
      [ [3],   [4],  [7],  [8]],
      [ [9],  [10], [13],  [14]],
      [ [11], [12], [15],  [16]]]]

0 বি 890f8260

আউটপুট

::tensorflow::Output output

পাবলিক ফাংশন

DepthToSpace

 DepthToSpace(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  int64 block_size
)

DepthToSpace

 DepthToSpace(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  int64 block_size,
  const DepthToSpace::Attrs & attrs
)

নোড

::tensorflow::Node * node() const 

অপারেটর :: টেনসরফ্লো :: ইনপুট

 operator::tensorflow::Input() const 

অপারেটর :: টেনসরফ্লো :: আউটপুট

 operator::tensorflow::Output() const 

পাবলিক স্ট্যাটিক ফাংশন

উপাত্ত বিন্যাস

Attrs DataFormat(
  StringPiece x
)