2017-11-21 25 views
9

मैं चैनल आयाम पर आगे बढ़ने का प्रयास कर रहा हूं, और निम्न कोड आश्चर्यजनक व्यवहार प्रदर्शित करता है। यह मेरी उम्मीद है कि tf.nn.max_pool और tf.nn.avg_pool को समान आकार के टेंसर का उत्पादन करना चाहिए जब सटीक तर्कों को खिलाया जाए। यह मामला नहीं है।टेंसरफ्लो: avg_pool क्यों एक तरंग आयाम को अनदेखा करता है?

import tensorflow as tf 

x = tf.get_variable('x', shape=(100, 32, 32, 64), 
     initializer=tf.constant_initializer(5), dtype=tf.float32) 
ksize = (1, 2, 2, 2) 
strides = (1, 2, 2, 2) 
max_pool = tf.nn.max_pool(x, ksize, strides, padding='SAME') 
avg_pool = tf.nn.avg_pool(x, ksize, strides, padding='SAME') 
print(max_pool.shape) 
print(avg_pool.shape) 

यह

$ python ex04/mini.py 
(100, 16, 16, 32) 
(100, 16, 16, 64) 

प्रिंट जाहिर है, मैं कुछ गलत समझ रहा हूँ।

+0

मुझे लगता है कि यह एक बग है। यदि आप गिटहब पर कोई समस्या खोलते हैं तो कृपया इसे यहां लिंक करें क्योंकि मैं वार्तालाप देखना चाहता हूं, धन्यवाद – nessuno

+0

यह एक बग जैसा लगता है। वैकल्पिक रूप से, आप पतले का उपयोग कर सकते हैं, यह अच्छी तरह से प्रदर्शन करता है। –

+0

@ डेनिज़बेकर _slim_ का क्या मतलब है? – oarfish

उत्तर

4

लिंक https://github.com/Hvass-Labs/TensorFlow-Tutorials/issues/19 कहता है:

पहली और आखिरी कदम हमेशा 1, होना चाहिए, क्योंकि पहली छवि-संख्या के लिए है और पिछले इनपुट चैनल के लिए है।

+1

स्पष्ट रूप से, _must_ तब अतिरंजित है, क्योंकि यह केवल त्रुटि के बजाय चुपचाप चलता है। ऐसा लगता है कि मुझे एक बग रिपोर्ट दर्ज करनी होगी। – oarfish

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