का उपयोग करने के बाद एक छवि को पुनर्निर्माण करना मेरे पास एक ऑटोकोडर है जो एक इनपुट के रूप में एक छवि लेता है और आउटपुट के रूप में एक नई छवि उत्पन्न करता है।extract_image_patches
इनपुट छवि (1x1024x1024x3) नेटवर्क पर खिलाए जाने से पहले पैच (1024x32x32x3) में विभाजित है।
एक बार मेरे पास आउटपुट होने के बाद, पैच आकार का एक बैच 1024x32x32x3 है, मैं 1024x1024x3 छवि का पुनर्निर्माण करने में सक्षम होना चाहता हूं। मैंने सोचा कि मैंने बस इसे फिर से बदलकर चिल्लाया था, लेकिन यह हुआ कि क्या हुआ।
पहले, छवि के रूप में Tensorflow द्वारा पढ़ा:
:
मैं निम्नलिखित कोड
patch_size = [1, 32, 32, 1]
patches = tf.extract_image_patches([image],
patch_size, patch_size, [1, 1, 1, 1], 'VALID')
patches = tf.reshape(patches, [1024, 32, 32, 3])
यहाँ के साथ छवि समझौता इस छवि से पैच के एक जोड़े हैं
लेकिन जब मैं इस पैच डेटा को दोबारा बदलता हूं एन छवि है कि चीजें नाशपाती के आकार जाते हैं।
reconstructed = tf.reshape(patches, [1, 1024, 1024, 3])
converted = tf.image.convert_image_dtype(reconstructed, tf.uint8)
encoded = tf.image.encode_png(converted)
इस उदाहरण में, कोई प्रसंस्करण पैचिंग और पुनर्निर्माण के बीच किया गया है। मैंने version of the code बनाया है जिसका उपयोग आप इस व्यवहार का परीक्षण करने के लिए कर सकते हैं। इसका इस्तेमाल करने के लिए, चलाने के निम्नलिखित:
echo "/path/to/test-image.png" > inputs.txt
mkdir images
python3 image_test.py inputs.txt images
कोड प्रत्येक इनपुट छवि में 1024 पैच से प्रत्येक के लिए एक इनपुट छवि, एक पैच छवि, और एक उत्पादन छवि हो जाएंगी, ताकि लाइनों है कि इनपुट बनाने बाहर टिप्पणी और आउटपुट छवियों यदि आप केवल सभी पैच को बचाने में चिंतित हैं।
किसी कृपया समझा क्या हुआ :(
CJxD, मेरा उत्तर पर एक नजर है। आप अपने कोड में होने वाली गलती को देखने के लिए पैच प्रिंट कर सकते हैं और पहले भाग में पुनर्निर्मित कर सकते हैं। मुझे उम्मीद है कि मेरा जवाब आपकी मदद करेगा। – hars
"वह चीजें नाशपाती के आकार में जाती हैं"। मैं उस अभिव्यक्ति को उधार लेने जा रहा हूँ! –