五|5.6 Keras卷积神经网络练习 cifar10数据集

一) cifar10数据集简介 五|5.6 Keras卷积神经网络练习 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数据集】

    推荐阅读