前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习|Keras识别CIFAR-10图像(CNN)

深度学习|Keras识别CIFAR-10图像(CNN)

作者头像
罗罗攀
发布2019-01-28 10:27:25
1.2K0
发布2019-01-28 10:27:25
举报

数据和方法

CIFAR-10数据集有6000个32×32个彩色图片,50000个训练图片和10000个测试图片。有10个类别:飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船、卡车。

数据下载和处理

数据下载

Keras已经提供了模块用于下载数据,通过一下代码即可完成下载。

代码语言:javascript
复制
from keras.datasets import cifar10
import numpy as np
np.random.seed(10)

(x_img_train,y_label_train),(x_img_test,y_label_test)=cifar10.load_data()
数据处理
  • 标准化
  • label的one-hot编码
代码语言:javascript
复制
x_img_train_normalize = x_img_train.astype('float32') / 255.0
x_img_test_normalize = x_img_test.astype('float32') / 255.0

from keras.utils import np_utils
y_label_train_OneHot = np_utils.to_categorical(y_label_train)
y_label_test_OneHot = np_utils.to_categorical(y_label_test)

CNN建模

模型结构
建立模型
代码语言:javascript
复制
from keras.models import Sequential
from keras.layers import Conv2D,MaxPooling2D,Dense,Dropout,Flatten

model = Sequential()
model.add(Conv2D(filters=32,kernel_size=(3,3),
                 input_shape=(32, 32,3), 
                 activation='relu', 
                 padding='same'))
model.add(Dropout(0.25))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(filters=64, kernel_size=(3, 3), 
                 activation='relu', padding='same'))
model.add(Dropout(0.25))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dropout(rate=0.25))
model.add(Dense(1024, activation='relu'))
model.add(Dropout(rate=0.25))
model.add(Dense(10, activation='softmax'))
训练模型
代码语言:javascript
复制
model.compile(loss='categorical_crossentropy',
              optimizer='adam', metrics=['accuracy'])
train_history = model.fit(x_img_train_normalize, y_label_train_OneHot,
                        validation_split=0.2,
                        epochs=10, batch_size=128, verbose=1) 
模型预测

精度不是特别高,可以多做几层卷积和池化。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.01.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据和方法
  • 数据下载和处理
    • 数据下载
      • 数据处理
      • CNN建模
        • 模型结构
          • 建立模型
            • 训练模型
              • 模型预测
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档