मेरे पास छवियों की एक निर्देशिका है, और लेबल के लिए एक अलग फ़ाइल मिलान छवि फ़ाइल नाम हैं।टेंसर फ्लो में फ़ाइल कतार से फ़ाइल नाम तक पहुंच
train/001.jpg 1
train/002.jpg 2
...
मैं आसानी से फ़ाइल नाम से एक filequeue बनाकर टेन्सर फ्लो में छवि निर्देशिका से छवियों को लोड कर सकते हैं:: तो छवियों की निर्देशिका की तरह 'ट्रेन/001.jpg' और जैसे लेबलिंग फ़ाइल लग रहा है फ़ाइलें है
filequeue = tf.train.string_input_producer(filenames)
reader = tf.WholeFileReader()
img = reader.read(filequeue)
लेकिन मुझे इन फ़ाइलों को लेबलिंग फ़ाइल से लेबल के साथ जोड़ने के लिए नुकसान हुआ है। ऐसा लगता है कि मुझे प्रत्येक चरण में कतार के अंदर फ़ाइल नामों तक पहुंच की आवश्यकता है। क्या उन्हें पाने का कोई तरीका है? इसके अलावा, मेरे पास फ़ाइल नाम होने के बाद, मुझे फ़ाइल नाम से लेबल किए गए लेबल को देखने में सक्षम होना चाहिए। ऐसा लगता है कि एक मानक पायथन शब्दकोश काम नहीं करेगा क्योंकि ग्राफ में प्रत्येक चरण में इन गणनाओं को होने की आवश्यकता है।
ठीक है कि मुझे बिल्कुल वही चाहिए! मैंने सिर्फ दो में अजगर से मिलान नहीं किया था और इसे पहले से घुमाया था- मैं केवल सीआईएफएआर ट्यूटोरियल से कोड का उपयोग करने की कोशिश कर रहा था जो फाइल लोड करता है और उसके बाद इसे बाद में घुमाता है। – bschreck
असल में मैंने अभी कोशिश की और मुझे लगता है कि मेरी फाइलनाम सूची बहुत बड़ी है। इस कोड का उपयोग करके यह बस लटकता है, लेकिन जब मैं अपनी सूची में तत्वों की संख्या को कम करता हूं तो काम करता है। रास्ते में 87,000 फाइलें हैं। – bschreck
दिलचस्प - यह वास्तव में लटका नहीं होना चाहिए। क्या आपने यादृच्छिक शफलक्यू अधिकतम को उस चीज की संख्या को संभालने के लिए काफी बड़ा किया है जिसे आप इसमें डाल रहे हैं? मैं चेतावनी दूंगा कि मैंने कभी भी यादृच्छिक शफल कतार की कोशिश नहीं की है। :) यदि आप स्मृति को सहेजना चाहते हैं, तो आप फ़ाइल को सीएसवी के रूप में फिर से लिख सकते हैं, एक सीएसवी डीकोडर पर पाइप किए गए टेक्स्टलाइनर का उपयोग कर सकते हैं, और फिर इसे क्यूई में फेंकने के लिए एक queuerunner के साथ फेंक दें। हालांकि, केवल 1 एमबी फाइलनामों के लिए बहुत काम है। – dga