टेंसरफ़्लो:: ऑप्स:: गहराई से अंतरिक्ष
#include <array_ops.h>
टी प्रकार के टेंसरों के लिए डेप्थटूस्पेस।
सारांश
डेटा को गहराई से स्थानिक डेटा के ब्लॉक में पुनर्व्यवस्थित करता है। यह SpaceToDepth का विपरीत परिवर्तन है। अधिक विशेष रूप से, यह ऑप इनपुट टेंसर की एक प्रति आउटपुट करता है जहां depth
आयाम से मानों को स्थानिक ब्लॉकों में height
और width
आयामों में ले जाया जाता है। Attr block_size
इनपुट ब्लॉक आकार और डेटा को कैसे स्थानांतरित किया जाता है, इंगित करता है।
- गहराई से
block_size * block_size
आकार के डेटा के टुकड़ों कोblock_size x block_size
आकार के गैर-अतिव्यापी ब्लॉकों में पुनर्व्यवस्थित किया जाता है - आउटपुट टेंसर की चौड़ाई
input_depth * block_size
है, जबकि ऊंचाईinput_height * block_size
है। - आउटपुट छवि के प्रत्येक ब्लॉक के भीतर Y, X निर्देशांक इनपुट चैनल इंडेक्स के उच्च क्रम घटक द्वारा निर्धारित किए जाते हैं।
- इनपुट टेंसर की गहराई
block_size * block_size
से विभाज्य होनी चाहिए।
data_format
attr निम्नलिखित विकल्पों के साथ इनपुट और आउटपुट टेंसर के लेआउट को निर्दिष्ट करता है: "NHWC": [ batch, height, width, channels ]
"NCHW": [ batch, channels, height, width ]
"NCHW_VECT_C": qint8 [ batch, channels / 4, height, width, 4 ]
ऑपरेशन को 6-डी टेंसर को बदलने के रूप में विचार करना उपयोगी है। उदाहरण के लिए data_format = NHWC, इनपुट टेंसर में प्रत्येक तत्व को 6 निर्देशांक के माध्यम से निर्दिष्ट किया जा सकता है, जो मेमोरी लेआउट महत्व को कम करके क्रमबद्ध किया गया है: n,iY,iX,bY,bX,oC (जहां n=बैच इंडेक्स, iX, iY का अर्थ है X या Y इनपुट छवि के भीतर समन्वय करता है, bX, bY का अर्थ है आउटपुट ब्लॉक के भीतर समन्वय, oC का अर्थ है आउटपुट चैनल)। आउटपुट निम्नलिखित लेआउट में स्थानांतरित इनपुट होगा: n,iY,bY,iX,bX,oC
यह ऑपरेशन कनवल्शन के बीच सक्रियणों का आकार बदलने (लेकिन सभी डेटा रखने) के लिए उपयोगी है, उदाहरण के लिए पूलिंग के बजाय। यह विशुद्ध रूप से दृढ़ मॉडलों के प्रशिक्षण के लिए भी उपयोगी है।
उदाहरण के लिए, आकार का इनपुट दिया गया है [1, 1, 1, 4]
, डेटा_फॉर्मेट = "एनएचडब्ल्यूसी" और ब्लॉक_साइज = 2:
x = [[[[1, 2, 3, 4]]]]
This operation will output a tensor of shape
[1, 2, 2, 1]
:
यहां, इनपुट में 1 का बैच है और प्रत्येक बैच तत्व का आकार
[1, 1, 4]
है, संबंधित आउटपुट में 2x2 तत्व होंगे और 1 चैनल की गहराई होगी (1 =4 / (block_size * block_size)
)। आउटपुट तत्व का आकार[2, 2, 1]
है।बड़ी गहराई वाले इनपुट टेंसर के लिए, यहां आकार
[1, 1, 1, 12]
, उदाहरण के लिए
यह ऑपरेशन, 2 के ब्लॉक आकार के लिए, आकार का निम्नलिखित टेंसर लौटाएगा
[1, 2, 2, 3]