टेंसरफ़्लो :: ऑप्स :: 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]
।
यह ऑपरेशन निम्न चरणों के बराबर है:
- आकृति बदलें
input
कोreshaped
आकार की: [block_shape [0], ..., block_shape [एम -1], बैच / prod (block_shape), input_shape [1], ..., input_shape [एन 1]] - के दूसरे स्थान पर रखना आयाम
reshaped
उत्पादन करने के लिएpermuted
आकार [बैच / prod (block_shape), input_shape [1], block_shape [0 की], ..., input_shape [एम], block_shape [एम -1], input_shape [एम + 1], ..., input_shape [N-1]] - आकृति बदलें
permuted
उत्पादन करने के लिएreshaped_permuted
आकार [बैच / prod (block_shape), input_shape [1] * block_shape [0], ..., input_shape [एम] * block_shape [एम -1], input_shape [एम + 1], .. ।, input_shape [एन -1]] - आरंभ और आयाम के अंत की काट-छाँट
[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