tensorflow:: ops:: BatchToSpaceND

#include <array_ops.h>

T प्रकार के ND टेंसरों के लिए BatchToSpace।

सारांश

यह प्रक्रिया "बैच" आयाम 0 को block_shape + [batch] आकार के M + 1 आयामों में रूपांतरित करती है, और इन ब्लॉकों को स्थानिक आयामों [1, ..., M] द्वारा परिभाषित ग्रिड में पुनः व्यवस्थित करती है, जिससे इनपुट के समान रैंक वाला परिणाम प्राप्त होता है। इस मध्यवर्ती परिणाम के स्थानिक आयामों को वैकल्पिक रूप से क्रॉप करके आउटपुट तैयार किया crops है। यह SpaceToBatch का विपरीत है। विस्तृत विवरण के लिए नीचे देखें।

तर्क:

  • स्कोप: एक स्कोप ऑब्जेक्ट
  • इनपुट: ND जिसका आकार input_shape = [batch] + spatial_shape + remaining_shape , जहाँ spatial_shape के M आयाम हैं।
  • ब्लॉक_शेप: 1-डी, आकार [M] के साथ, सभी मान >= 1 होने चाहिए।
  • फसलें: 2-डी, आकार [M, 2] के साथ, सभी मान >= 0 होने चाहिए। crops[i] = [crop_start, crop_end] इनपुट आयाम i + 1 से फसल की मात्रा निर्दिष्ट करता है, जो स्थानिक आयाम i के अनुरूप है। यह आवश्यक है कि crop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1] ।

यह प्रक्रिया निम्नलिखित चरणों के समतुल्य है:

  1. input आकार के reshaped में बदलें: [ब्लॉक_शेप[0], ..., ब्लॉक_शेप[M-1], बैच / उत्पाद(ब्लॉक_शेप), इनपुट_शेप[1], ..., इनपुट_शेप[N-1]]
  2. reshaped [batch / prod(block_shape),input_shape[1], block_shape[0], ..., input_shape[M], block_shape[M-1],input_shape[M+1], ..., input_shape[N-1]] permuted क्रमचयित करने के लिए पुनर्व्यवस्थित आयामों को क्रमबद्ध करें।
  3. आकार [batch / prod(block_shape), reshaped_permuted [1] * block_shape[0], ..., input_shape[M] * block_shape[M-1],input_shape[M+1], ..., input_shape[N-1]] permuted reshaped_permuted का उत्पादन करने के लिए क्रमपरिवर्तन करें
  4. reshaped_permuted के आयामों [1, ..., M] के प्रारंभ और अंत को crops के अनुसार क्रॉप करें ताकि आउटपुट का आकार इस प्रकार हो: [batch / prod(block_shape),input_shape[1] * block_shape[0] - crops[0,0] - crops[0,1], ..., input_shape[M] * block_shape[M-1] - crops[M-1,0] - crops[M-1,1],input_shape[M+1], ..., input_shape[N-1]]

कुछ उदाहरण:

(1) निम्नलिखित इनपुट के लिए, जिसका आकार [4, 1, 1, 1] है, block_shape = [2, 2] और crops = [[0, 0], [0, 0]] :

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

आउटपुट टेंसर का आकार [1, 2, 2, 1] और मान है:

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

(2) निम्नलिखित इनपुट के लिए, जिसका आकार [4, 1, 1, 3] है, block_shape = [2, 2] और crops = [[0, 0], [0, 0]] :

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

आउटपुट टेंसर का आकार [1, 2, 2, 3] और मान है:

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

(3) निम्नलिखित इनपुट के लिए, जिसका आकार [4, 2, 2, 1] है, block_shape = [2, 2] और crops = [[0, 0], [0, 0]] :

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

आउटपुट टेंसर का आकार [1, 4, 4, 1] और मान है:

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

(4) निम्नलिखित इनपुट के लिए, जिसका आकार [8, 1, 3, 1] है, block_shape = [2, 2] , और crops = [[0, 0], [2, 0]] :

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]]]]

आउटपुट टेंसर का आकार [2, 2, 4, 1] और मान है:

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

प्रतिफल:

  • Output : आउटपुट टेंसर।

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

BatchToSpaceND (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input block_shape, :: tensorflow::Input crops)

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

operation
output

सार्वजनिक समारोह

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

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

संचालन

Operation operation

आउटपुट

::tensorflow::Output output

सार्वजनिक समारोह

BatchToSpaceND

 BatchToSpaceND(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input block_shape,
  ::tensorflow::Input crops
)

नोड

::tensorflow::Node * node() const 

ऑपरेटर::टेन्सरफ्लो::इनपुट

 operator::tensorflow::Input() const 

ऑपरेटर::टेन्सरफ्लो::आउटपुट

 operator::tensorflow::Output() const