![](/img/trans.png)
[英]Get predicted values with model.predict using ImageDataGenerator - keras 2.1.0 (deep learning)
[英]deep learning Denoisy Model with imageDataGenerator
我有這個代碼:
epochs =50
batch_size = 5
validation_split = 0.2
datagen = tf.keras.preprocessing.image.ImageDataGenerator(validation_split=validation_split )
train_generator = datagen.flow(
X_train_noisy, y_train_denoisy, batch_size=batch_size,
subset='training'
)
val_generator = datagen.flow(
X_train_noisy, y_train_denoisy, batch_size=batch_size,
subset='validation'
)
history = model.fit(train_generator,
steps_per_epoch=(len(X_train_noisy)*(1-validation_split)) // batch_size, epochs=epochs,
validation_data = val_generator, validation_steps=(len(X_train_noisy)*validation_split)//batch_size)
X_train_noisy 和 y_train_denoisy 是 ndarray ([20,512,512,1]) pe 但我得到這個錯誤:
訓練和驗證子集在拆分后具有不同數量的類
我該如何解決?
謝謝!
可能發生的情況是,當數據被拆分以進行訓練和驗證時,選擇用於驗證的文件集不包括一個或多個類中的任何文件。 當您的數據集很小時,可能會發生這種情況。 嘗試將validation_split 增加到更大的值,比如5,看看問題是否消失。 它應該。 然后減小驗證拆分的大小,直到錯誤再次發生。 這將確定您可以使用的最小拆分值。 請記住拆分是隨機的,因此請將拆分值設置為高於最小值。 另一種(更好的)替代方法是使用 sklearn train_test_split 拆分數據。 這個 function 有一個參數 stratify 可以拆分數據,但確保所有類都包含在兩個組件中。 請參閱下面的代碼
from sklearn.model_selection import train_test_split
X_train_noisy, X_valid_noisy, y_train_denoisy, y_valid_denoisy=train_test_split(X_train_noisy,
y_train_denoisy, test_size=validation_split,
shuffle=True, random_state=123,
stratify=y_train_denoisy)
現在在 model.fit 中使用這些拆分變量
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.