पर अंडरसमूल करें या बैच उत्पन्न करने के लिए ImageDataGenerator.flow_from_directory
विधि का उपयोग करके मैं केरास के साथ एक बाइनरी वर्गीकरण समस्या करने का प्रयास कर रहा हूं। हालांकि, मेरी कक्षाएं बहुत असंतुलित हैं, जैसे कि एक वर्ग में लगभग 8x या 9x अधिक की तुलना में, मॉडल को हर उदाहरण के लिए एक ही आउटपुट क्लास की भविष्यवाणी करने में फंसना पड़ता है। क्या flow_from_directory
को मेरे छोटे वर्ग से ओवरलैंप करने या प्रत्येक युग के दौरान मेरी बड़ी कक्षा से अंडरसमूल करने का कोई तरीका है? अभी के लिए, मैंने अपनी छोटी कक्षा में प्रत्येक छवि की कई प्रतियां बनाई हैं, लेकिन मैं थोड़ा अधिक लचीलापन चाहता हूं।keras flow_from_directory एक वर्ग
उत्तर
केरास के वर्तमान संस्करण के साथ - केवल केरास अंतर्निहित तरीकों का उपयोग करके अपने डेटासेट को संतुलित करना संभव नहीं है। flow_from_directory
बस सभी फ़ाइलों और उनकी कक्षाओं की एक सूची बना रहा है, इसे घुमाकर (यदि आवश्यक हो) और फिर यह इसके ऊपर फिर से चल रहा है।
लेकिन आप एक अलग चाल कर सकता है - अपने स्वयं के जनरेटर writting द्वारा जो python
अंदर संतुलन बनाना होगा:
def balanced_flow_from_directory(flow_from_directory, options):
for x, y in flow_from_directory:
yield custom_balance(x, y, options)
यहाँ custom_balance
एक समारोह है कि एक बैच (x, y)
दी जानी चाहिए यह संतुलन और एक लौटा रहा है संतुलित बैच (x', y')
। अधिकांश अनुप्रयोगों के लिए बैच के आकार को समान होने की आवश्यकता नहीं है - लेकिन कुछ अजीब उपयोग के मामले हैं (जैसे stateful आरएनएन) - जहां बैच आकारों का निश्चित आकार होना चाहिए)।
तुम भी प्रत्येक वर्ग में फ़ाइलों की संख्या की गणना और class_weights
files_per_class = []
for folder in os.listdir(input_foldr):
if not os.path.isfile(folder):
files_per_class.append(len(os.listdir(input_foldr + '/' + folder)))
total_files = sum(files_per_class)
class_weights = {}
for i in xrange(len(files_per_class)):
class_weights[i] = 1 - (float(files_per_class[i])/total_files)
print (class_weights)
...
...
...
model.fit_generator(... ,class_weight=class_weights)
कृपया नमूना कोड और अधिक स्पष्टीकरण जोड़ें –
कृपया अपना उत्तर संपादित करें और इस कोड को जोड़ें –
- 1. Keras
- 2. Keras
- 3. keras
- 4. Keras
- 5. कैमरे में 'flow_from_directory' फ़ंक्शन किस क्रम में नमूने लेता है?
- 6. प्रतिगमन मॉडल में Keras ImageDataGenerator का उपयोग करना
- 7. एक नुकसान समारोह जो Keras
- 8. keras autoencoder
- 9. बहु सूत्रण/keras
- 10. सिमेंटिक विभाजन Keras
- 11. keras: model.predict और model.predict_proba
- 12. मौजूदा Keras मॉडल
- 13. Keras + Tensorflow अजीब परिणाम
- 14. Keras Conv2D और इनपुट चैनलों
- 15. जब keras का उपयोग कर,
- 16. Keras model.summary() परिणाम पैरामीटर्स की #
- 17. Keras - स्टेटफुल बनाम राज्यविहीन LSTMs
- 18. Keras + TensorFlow रीयलटाइम प्रशिक्षण चार्ट
- 19. Keras - 1 डी कनवल्शन यह
- 20. keras छवि जनरेटर के साथ एक असंतुलित डाटासेट संतुलन
- 21. keras tensorboard: भूखंड ट्रेन और एक ही आंकड़ा
- 22. Keras रूप keras/activation.py में परिभाषित Relu सक्रियण समारोह में MAX_VALUE का उपयोग कैसे करें
- 23. थेनो - Keras - कोई मॉड्यूल नामित `pool`
- 24. अंतर "वर्ग एक, वर्ग बी" और "वर्ग एक :: बी '
- 25. एक वर्ग
- 26. एक वर्ग
- 27. एक वर्ग
- 28. एक वर्ग
- 29. एक वर्ग
- 30. एक वर्ग
धन्यवाद इस मैं क्या जरूरत – George
किसी को एक पूरी तरह से काम कर रहे इस के आधार पर स्क्रिप्ट, विस्तृत करने के बना सकते हैं लगभग प्रतीत हो रहा है सामान्य कर सकते हैं? मुझे कस्टम_बुलेंस आदि का एक और ठोस उदाहरण चाहिए। – mikal94305