2016-06-06 14 views
10

में संकल्प के लिए कस्टम पैडिंग tensorflow फ़ंक्शन tf.nn.conv2d में, पैडिंग विकल्प में केवल 'समान' और 'वैध' है।टेंसरफ्लो

लेकिन कैफे की रूपांतरण परत में, pad option इनपुट के प्रत्येक पक्ष में पिक्सल की संख्या (निहित) को परिभाषित कर सकता है।

टेन्सफोर्लो में इसे कैसे प्राप्त किया जाए?

बहुत बहुत धन्यवाद।

उत्तर

26

आप tf.pad() उपयोग कर सकते हैं आवेदन करने tf.nn.conv2d(..., padding="VALID") (मान्य गद्दी कोई पैडिंग का मतलब है) से पहले पैड को (doc देखें) टेन्सर।


उदाहरण के लिए, आप पैड को ऊंचाई में 2 पिक्सेल, और चौड़ाई में 1 पिक्सेल, और उसके बाद के साथ छवि चाहते हैं, तो एक 5x5 कर्नेल के साथ एक घुमाव के लागू होते हैं:

input = tf.placeholder(tf.float32, [None, 28, 28, 3]) 
padded_input = tf.pad(input, [[0, 0], [2, 2], [1, 1], [0, 0]], "CONSTANT") 

filter = tf.placeholder(tf.float32, [5, 5, 3, 16]) 
output = tf.nn.conv2d(padded_input, filter, strides=[1, 1, 1, 1], padding="VALID") 

output आकार होगा [None, 28, 26, 16], क्योंकि आपके पास चौड़ाई में केवल 1 का पैडिंग है।

संबंधित मुद्दे