一) cifar10数据集简介
文章图片
CIFAR-10是一个更接近普适物体的彩色图像数据集。CIFAR-10 是由Hinton 的学生Alex Krizhevsky 和Ilya Sutskever 整理的一个用于识别普适物体的小型数据集。一共包含10 个类别的RGB 彩色图片:飞机( airplane )、汽车( automobile )、鸟类( bird )、猫( cat )、鹿( deer )、狗( dog )、蛙类( frog )、马( horse )、船( ship )和卡车( truck )。
每个图片的尺寸为32 × 32 ,每个类别有6000个图像,数据集中一共有50000 张训练图片和10000 张测试图片。
二)代码
from tensorflow import keras
from tensorflow.keras import layerscifar = keras.datasets.cifar10(train_image, train_label), (test_image, test_label) = cifar.load_data()train_image.shape, test_image.shapetrain_label# 归一化处理
train_image = train_image/255
test_image = test_image/255model = keras.Sequential()
model.add(layers.Conv2D(64, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.BatchNormalization())
model.add(layers.MaxPooling2D())
model.add(layers.Dropout(0.25))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.BatchNormalization())
model.add(layers.MaxPooling2D())
model.add(layers.Dropout(0.25))
model.add(layers.Conv2D(256, (3, 3), activation='relu'))
model.add(layers.Conv2D(256, (1, 1), activation='relu'))
model.add(layers.BatchNormalization())
model.add(layers.Dropout(0.25))
model.add(layers.GlobalAveragePooling2D())
model.add(layers.Dense(128))
model.add(layers.BatchNormalization())
model.add(layers.Dropout(0.5))
model.add(layers.Dense(10, activation='softmax'))model.summary()model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['acc']
)history = model.fit(train_image, train_label, epochs=30, batch_size=128)model.evaluate(test_image, test_label)model.evaluate(test_image, test_label)
神经网络: 最好做归一化的处理
【五|5.6 Keras卷积神经网络练习 cifar10数据集】
推荐阅读
- 神经网络与深度学习|【神经网络与深度学习】CIFAR10数据集介绍,并使用卷积神经网络训练图像分类模型——[附完整训练代码]
- TensorFlow深度学习|TensorFlow学习笔记之CIFAR10与VGG13实战
- 机器学习|深度学习经典数据集汇总
- tensorflow2.0|Tensorflow 2 实战(kears)- CIFAR10自定义网络、模型加载与保存实战
- 深度学习|【深度学习】从LeNet-5识别手写数字入门深度学习
- 深度学习|【深度学习】基于tensorflow的服装图像分类训练(数据集(Fashion-MNIST))
- kaggle|word2vec和常见CNN+RNN网格结构组成的文本分类模型
- 深度学习与神经网络|第3周 用1层隐藏层的神经网络分类二维数据
- 深度学习|基于tensorflow2+textCNN的中文垃圾邮件分类