Son zamanlarda Keras'ta veri büyütme ile oynuyorum ve temel ImageDataGenerator kullanıyorum. Aslında bir yineleyici değil, bir jeneratör olduğunu zor yoldan öğrendim (çünkü type(train_aug_ds)
verir <class 'keras.preprocessing.image.DirectoryIterator'>
Bunun bir yineleyici olduğunu düşündüm). Ayrıca kullanmayla ilgili birkaç blogu da kontrol ettim, ancak tüm sorularıma cevap vermiyorlar.
Bu yüzden verilerimi şöyle yükledim:
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,
)
Ve modelimi eğitmek için aşağıdakileri yaptım:
model.fit(
train_aug_ds,
epochs=150,
validation_data=(valid_aug_ds,),
)
Ve işe yaradı. Nasıl çalıştığını biraz kafam karıştı, çünkü train_aug_ds
jeneratör, bu yüzden sonsuz büyük veri kümesi vermelidir. Ve belgeler diyor ki::
Sonsuz yinelenen bir veri kümesini geçirirken, steps_per_epoch bağımsız değişkenini belirtmeniz gerekir.
Ki henüz yapmadım, işe yarıyor. Bir şekilde adım sayısını çıkartıyor mu? Ayrıca, yalnızca artırılmış veriler mi kullanıyor yoksa toplu halde artırılmamış görüntüler de mi kullanıyor?
Temel olarak sorum, bu jeneratörü işlevle doğru şekilde nasıl kullanacağımızdır fit
orijinal, artırılmamış görüntüler ve artırılmış görüntüler de dahil olmak üzere eğitim setimdeki tüm verilere sahip olmak ve birkaç kez/adımda geçiş yapmak (şu anda her dönem için yalnızca bir adım atıyor gibi görünüyor)?