基于卷积神经网络的图像识别-案例实施1

案例描述

学习如何搭建CNN卷积神经网络,训练cifar-10数据,识别图片中的内容。

案例分析

cifar-10是由Hinton的学生Alex KrizhevskyIlya Sutskever整理的一个用于识别普适物体的小型数据集。一共包含 10个类别的 RGB 彩色图 片:飞机( airplane )、汽车( automobile )、鸟类( bird )、猫( cat )、鹿( deer )、狗( dog )、蛙类( frog )、马( horse )、船( ship )和卡车( truck )。图片由32×32彩色图像组成,每个类有6000个图像。cifar-10数据集中共有50000个训练图像和10000个测试图像。

基于卷积神经网络的图像识别-案例实施1_第1张图片

案例实施

1.加载数据

from tensorflow.keras import datasets, layers, models

(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()

2.搭建卷积神经网络

Keras是一个由Python编写的开源人工神经网络库,可以作为TensorflowMicrosoft-CNTKTheano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化。Keras同样提供了序列化方法,可以方便的帮助搭建神经网络。

model = models.Sequential()

model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))

model.add(layers.MaxPooling2D((2, 2)))

 model.add(layers.Flatten())

model.add(layers.Dense(64, activation='relu'))

model.compile(optimizer='adam’, loss='sparse_categorical_crossentropy’,  metrics=['accuracy’])

3.可视化训练过程

为了方便查看训练过程中准确率的变化,可以借助matplotlib来可视化训练过程。

你可能感兴趣的:(Python,深度学习,cnn,人工智能,神经网络)