Google I/O एक लपेट है! TensorFlow सत्रों पर पकड़ बनाएं सत्र देखें

टेंसरफ़्लो :: ऑप्स :: BatchToSpaceND

#include <array_ops.h>

T के एनडी टेंसर के लिए बैचोस्पेस

सारांश

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

तर्क:

  • गुंजाइश: एक स्कोप ऑब्जेक्ट
  • इनपुट: ND के साथ आकृति input_shape = [batch] + spatial_shape + remaining_shape , जहां spatial_shape के एम आयाम हैं।
  • block_shape: 1-D आकार के साथ [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 आकार की: [block_shape [0], ..., block_shape [एम -1], बैच / prod (block_shape), input_shape [1], ..., input_shape [एन 1]]
  2. के दूसरे स्थान पर रखना आयाम reshaped उत्पादन करने के लिए permuted आकार [बैच / prod (block_shape), input_shape [1], block_shape [0 की], ..., input_shape [एम], block_shape [एम -1], input_shape [एम + 1], ..., input_shape [N-1]]
  3. आकृति बदलें permuted उत्पादन करने के लिए reshaped_permuted आकार [बैच / prod (block_shape), input_shape [1] * block_shape [0], ..., input_shape [एम] * block_shape [एम -1], input_shape [एम + 1], .. ।, input_shape [एन -1]]
  4. आरंभ और आयाम के अंत की काट-छाँट [1, ..., M] के reshaped_permuted के अनुसार crops आकार के उत्पादन का उत्पादन करने के लिए: [बैच / prod (block_shape), input_shape [1] * block_shape [0] - फसलों [0, 0] - फसल [0,1], ..., input_shape [M] * block_shape [M-1] - फसल [M-1,0] - फसल [M-1,1], input_shape [M + 1] ,, इनपुट_शैप [एन -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]] :

04d33332480

आउटपुट टेंसर का आकार [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