最近在学习keras,总遇到使用 ImageDataGenerator当作训练参数,使用
fit_generator(), 而 Keras 2.0+ 已经放弃了,导致执行不下去了
经过N多天的摸索,终于是成功了
# 训练集数据生成
datagen = ImageDataGenerator(
rotation_range=40,
rescale=1./255,
width_shift_range=0.2,
height_shift_range=0.2,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
fill_mode='nearest'
)
batch_size = 32
# 生成训练数据
train_generator = datagen.flow_from_directory(
'E:/data/kreas/Kaggle/cat-dog-small/train', # 训练数据路径
target_size=(150, 150), # 设置图片大小
class_mode='categorical',
batch_size=batch_size # 批次大小
)
model.fit(
train_generator,
steps_per_epoch=int(totalFileCount/batch_size),
epochs=50,
validation_data=test_generator,
validation_steps=int(1000/batch_size),
)
直接使用 ImageGenaraor 加强生成的数据即可。
之前为啥没成功呢?
我想是我之前的keras版本,已经tensorflow的版本有不兼容的问题。
我是将tensorflow 卸载重新安装,安装最新的2.18
Keras 3.7
又可以愉快的玩耍了,欢迎各位与我交流-:)
2.X 版本的 numpy 兼容性差,建议使用如下
pip install -U numpy==1.26.1
配置好GPU 可以愉快的玩耍了