ImageDataGenerator怎么加载分类
时间: 2024-11-23 17:39:23 浏览: 4
Keras 数据增强ImageDataGenerator多输入多输出实例
ImageDataGenerator是一个在Keras库中用于数据增强的工具,它可以在训练过程中随机对图像数据进行变换,如翻转、裁剪、旋转等,以增加模型的泛化能力并防止过拟合。如果你想要使用ImageDataGenerator来加载分类数据,可以按照以下步骤操作:
1. 导入所需的库和模块:
```python
from keras.preprocessing.image import ImageDataGenerator
```
2. 初始化ImageDataGenerator实例,并指定一些参数:
```python
datagen = ImageDataGenerator(
rescale=1./255, # 对像素值缩放至0-1范围
rotation_range=20, # 随机旋转的角度范围
width_shift_range=0.1, # 水平方向的随机平移比例
height_shift_range=0.1, # 竖直方向的随机平移比例
shear_range=0.2, # 切变程度
zoom_range=0.2, # 放大/缩小比例
horizontal_flip=True, # 是否做水平翻转
vertical_flip=False, # 是否做垂直翻转
class_mode='categorical' # 如果有类别标签,则设置为one-hot编码
)
```
3. 加载数据集,通常使用`flow_from_directory`函数,假设你有一个名为'data/train'和'data/validation'的目录结构,分别包含训练和验证图片:
```python
train_generator = datagen.flow_from_directory(
'data/train',
target_size=(img_width, img_height),
batch_size=batch_size,
class_mode='categorical'
)
validation_generator = datagen.flow_from_directory(
'data/validation',
target_size=(img_width, img_height),
batch_size=batch_size,
class_mode='categorical'
)
```
在这个例子中,你需要提前准备好类别对应的文件夹结构,例如"data/train/dog"、"data/train/cat"等。
阅读全文