深度学习项目实战-图像分类与CIFAR-10

CIFAR-10有5万个训练数据,1万多个测试数据 ;可直接下载使用

重要代码:载入数据,如果没有会自动在网上下载:

X_train, Y_train), (X_test, Y_test) = cifar10.load_data()
#对输入进行归一化处理
X_train=X_train /255
X_test =X_test /255
#对于输出进行one-hot-coding
Y_train = keras.utils.to_categorical(Y_train, 10)
Y_test = keras.utils.to_categorical(Y_test, 10)
# 进行数据增强
datagen = ImageDataGenerator
(
rotation_range=10, # randomly rotate images in the range (degrees, 0 to 180)
width_shift_range=0.2, # randomly shift images horizontally (fraction of total width)
height_shift_range=0.2, # randomly shift images vertically (fraction of total height)
horizontal_flip=True, # randomly flip images
vertical_flip=True # randomly flip images
)

 datagen.fit(X_train)

#导入预训练好权重的残差神经网络RESNET50

res_model = keras.applications.resnet50.ResNet50(weights='imagenet', include_top=False,
input_shape=(200, 200, 3))
res_model.summary()
#定义优化器和编译模型


 
adam=keras.optimizers.Adam(lr=0.0001,beta_1=0.9,beta_2=0.999,epsilon=1e-08)
model.compile(optimizer=adam, loss='binary_crossentropy', metrics=['acc'])
#训练模型,用测试集做VALIDATION数据直接查看测试结果
batch_size=20
model.fit_generator(datagen.flow(X_train, Y_train,batch_size=batch_size),
steps_per_epoch=X_train.shape[0]   // batch_size,
epochs=1,
validation_data=(X_test, Y_test))
主要流程介绍:
1.任务和模型定义:在CIFAR-10数据集上常见目标的分类;
2.数据处理与特征工程:对数据进行了归一化和one-hot-coding等处理,做
了数据增强;
3.模型搭建与训练:下载了预训练好的RESNET50,加入了UPSAMPLING
层,用了ADAM优化器,同时采用了mini-Batch的方式进行训练,只训练了1
个EPOCH;
4.模型测试及优化:通过数据增强和迁移学习,仅用了5万个训练数据中的
200个数据,1个Epoch的训练就让模型在测试集上面准确度就接近了90%。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值