Keras基于VGG对五种图片类别识别的迁移学习

/

  1. 案例效果

2. 数据集以及迁移需求

数据集是某场景下5个类别图片的识别

我们利用现有的VGG模型去进行微调

  1. 思路和步骤
  • 读取本地的图片数据以及类别
    • keras.preprocessing.image import ImageDataGenerator提供了读取转换功能
  • 模型的结构修改(添加我们自定的分类层)
  • freeze掉原始VGG模型
  • 编译以及训练和保存模型方式
  • 输入数据进行预测

train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
'data/train',
target_size=(150, 150),
batch_size=32,
class_mode='binary')
validation_generator = test_datagen.flow_from_directory(
'data/validation',
target_size=(150, 150),
batch_size=32,
class_mode='binary')
使用fit_generator
model.fit_generator(
train_generator,
steps_per_epoch=2000,
epochs=50,
validation_data=validation_generator,
validation_steps=800)

def __init__(self):
    # 定义训练和测试图片的变化方式,标准化以及数据增强
    self.train_generator = ImageDataGenerator(rescale=1.0 / 255)
    self.test_generator = ImageDataGenerator(rescale=1.0 / 255)
    # 指定训练集和测试集的目录
    self.train_dir = "./data/train"
    self.test_dir = "./data/test"
    # 定义图片训练的相关网络参数
    self.image_size = (224, 224)
    self.batch_size = 32
def get_local_data(self):
    """
    读取本地的图片数据以及类别
    :return:训练数据和测试数据迭代器
    """
    # 使用flow_from_derectory
    train_gen = self.train_generator.flow_from_directory(self.train_dir,
                                                         target_size=self.image_size,
                                                         batch_size=self.batch_size,
                                                         class_mode='binary',
                                                         shuffle=True)
    test_gen = self.test_generator.flow_from_directory(self.test_dir,
                                                       target_size
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值