Kerasでのデータ拡張技術の適用方法は?

Kerasでデータ拡張技術を適用するには、ImageDataGeneratorクラスを使用することができます。以下は簡単なサンプルコードです:

from keras.preprocessing.image import ImageDataGenerator

# 创建一个数据增强的生成器
datagen = ImageDataGenerator(
    rotation_range=40,
    width_shift_range=0.2,
    height_shift_range=0.2,
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True,
    fill_mode='nearest'
)

# 加载数据集
# 这里假设X_train和y_train是训练集的特征和标签数据
datagen.fit(X_train)

# 使用生成器来训练模型
model.fit_generator(datagen.flow(X_train, y_train, batch_size=32),
                    steps_per_epoch=len(X_train) / 32, epochs=50)

ImageDataGeneratorクラスは、回転、移動、クリッピング、スケーリング、水平反転などのデータ拡張方法を定義するために使用されます。そして、fit_generatorメソッドを使用して、ジェネレータを使ってモデルをバッチごとにトレーニングします。

データ拡張技術を使用することで、トレーニングデータセットを効果的に拡張し、モデルの汎化能力を向上させ、過学習を減らすことができます。

bannerAds