मैं खेल रहा हूँ के साथ वृद्धि के आंकड़ों में Keras और हाल ही में मैं का उपयोग कर रहा हूँ बुनियादी ImageDataGenerator. मैंने सीखा है कठिन रास्ता है कि यह वास्तव में एक जनरेटर, नहीं इटरेटर (क्योंकि type(train_aug_ds)
देता है <class 'keras.preprocessing.image.DirectoryIterator'>
मैंने सोचा था कि यह एक इटरेटर). मैं यह भी जाँच की है कुछ के बारे में ब्लॉग का उपयोग यह है, लेकिन वे नहीं अपने सभी सवालों का जवाब.
तो, मैं अपने लोड डेटा इस तरह:
train_aug = ImageDataGenerator(
rescale=1./255,
horizontal_flip=True,
height_shift_range=0.1,
width_shift_range=0.1,
brightness_range=(0.5,1.5),
zoom_range = [1, 1.5],
)
train_aug_ds = train_aug.flow_from_directory(
directory='./train',
target_size=image_size,
batch_size=batch_size,
)
और प्रशिक्षित करने के लिए अपने मॉडल मैं निम्नलिखित किया:
model.fit(
train_aug_ds,
epochs=150,
validation_data=(valid_aug_ds,),
)
और यह काम किया. मैं थोड़ा उलझन में है कि यह कैसे काम करता है, क्योंकि train_aug_ds
जनरेटर है, तो यह देना चाहिए असीम रूप से बड़े डेटासेट. और प्रलेखन कहते हैं:
गुजर रहा है जब एक असीम दोहरा डेटासेट के साथ, आप निर्दिष्ट करना होगा steps_per_epoch तर्क है ।
जो मुझे नहीं करना था, अभी तक, यह काम करता है. करता है यह किसी न किसी तरह के अनुमान लगाने के लिए कई कदम? इसके अलावा, यह केवल उपयोग संवर्धित डेटा, या यह भी उपयोग करता है गैर-संवर्धित छवियों बैच में?
तो असल में, मेरा सवाल यह है कि कैसे का उपयोग करने के लिए इस जनरेटर के साथ सही ढंग से कार्य fit
है करने के लिए सभी डेटा में प्रशिक्षण सहित सेट, मूल, गैर-संवर्धित छवियों और संवर्धित छवियों, और करने के लिए चक्र के माध्यम से यह कई बार/कदम (सही अब ऐसा लगता है कि यह करता है केवल एक कदम प्रति epoch)?