Neden karıştı: Ben örneklere Modelimin test edersenizKeras'ta yaptığım onaylama seçimim neden benim modelimin performansını değiştiriyor?
[A, B, C], belli bir doğruluk elde edecektir. Aynı modeli örneklerde [C, B, A] test edersem, aynı doğruluğu elde etmelidir. Başka bir deyişle, örnekleri karıştırmak modelimin doğruluğunu değiştirmemelidir. Ama bunun altında oluyor gibi görünüyor budur:
Adım adım: Ben modelin test nerede
İştemodel.fit_generator(batches, batches.nb_sample, nb_epoch=1, verbose=2,
validation_data=val_batches,
nb_val_samples=val_batches.nb_sample)
olan üreticimizin olmadan: Ben modeli eğitmek nerede İşte
olduğunu doğrulama grubu:
0: Buradagen = ImageDataGenerator()
results = []
for _ in range(3):
val_batches = gen.flow_from_directory(path+"valid", batch_size=batch_size*2,
target_size=target_size, shuffle=False)
result = model.evaluate_generator(val_batches, val_batches.nb_sample)
results.append(result)
sonuç (val_loss, val_acc) olan
[2.8174608421325682, 0.17300000002980231]
[2.8174608421325682, 0.17300000002980231]
[2.8174608421325682, 0.17300000002980231]
Doğrulama kesinliklerinin aynı olduğuna dikkat edin.
[2.8174608802795409, 0.17299999999999999]
[2.8174608554840086, 0.1730000001192093]
[2.8174608268737793, 0.17300000059604645]
Bildirim bu doğrulama doğrulukları: Burada
results = [] for _ in range(3): val_batches = gen.flow_from_directory(path+"valid", batch_size=batch_size*2, target_size=target_size, shuffle=True) result = model.evaluate_generator(val_batches, val_batches.nb_sample) results.append(result)
sonuç (val_loss, val_acc) şunlardır: bir karıştırılan doğrulama seti ile, bir model test eder Burada
olduğu değişmemiş bir doğrulama setine ve değişmeyen bir modele rağmen, tutarsızdır. Neler oluyor?
Not:
Ben her zaman set tüm doğrulamada değerlendiriyorum. 'a eşit olan örnek sayısı modelini değerlendirdikten sonra model.evaluate_generator döndürür, bu da doğrulama kümesindeki örnek sayısıdır.
Doğrulama ayarının her zaman değişmediğinden emin misiniz? Verileri her seferinde karıştırıyor ve alt örnekliyorsanız, bu ayar, test döngüsü boyunca her yinelemede farklı olabilir. – bnaecker
Bir sorun görmüyorum, ketas'a veri kümesini karıştırmasını söylediniz ve bu da son çözümleri biraz değiştirecek. –
Verileri örneklemiyorum. "değerlendir_generator", validabat kümesindeki örneklerin toplam sayısı olan "val_batches.nb_sample" örneklerindeki modeli değerlendirdikten sonra geri döner. Bu olsa da, bu çok gizlidir. Ben bunu adım adım daha açık yapacağım. Teşekkür ederim. –