⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿
个人网站:https://jerry-jy.co/❗❗❗知识付费,🈲止白嫖,有需要请后台私信或【文末】个人微信公众号联系我
基于卷积神经网络的Cifar-10图像分类
基于卷积神经网络的Cifar-10图像分类
任务需求
本次实验使用Cifar10数据集,Cifar10是一个由彩色图像组成的分类的数据集,其中包含了飞机、汽车、鸟、猫、鹿、狗、 青蛙、马、船、卡车10个类别。每个类中包含了6000张图片。整个数据集中包含了6万张32×32的彩色图片。该数据集被分成50000和10000两部分,50000作为训练数据,用来做训练;10000是测试数据,用来做验证。
下图列举了10个类,每⼀类随机展示了10张图⽚
任务目标
1、掌握基于TensorFlow的内置数据集加载
2、掌握基于TensorFlow的卷积神经网络模型构建
3、掌握基于TensorFlow的神经网络网络模型编译设置和训练
任务环境
1、jupyter开发环境
2、OpenCv
3、python3.6
任务实施过程
一、导入数据
1.导入所需要的工具包和数据集
import tensorflow as tf # 导入tensorflow
from matplotlib import pyplot as plt # 导入绘图模块
import numpy as np # 导入numpy
from utils import im_show # 导入显示图像函数
# 绘制图像直接展示,不用调用plt.show()
%matplotlib inline
# 导入神经网络各层创建函数
from tensorflow.keras.layers import Conv2D, MaxPool2D, Dropout, Flatten, Dense
from tensorflow.keras.models import Sequential #导入顺序模型
# cifar10是tf.keras.datasets模块下的内置数据集
# cifar10.load_data()加载数据集,如果首次加载将从互联网上下载
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.cifar10.load_data()
# x_train, y_train表示训练集数据的尺寸为32*32*3的图像和图像对应的标签
# x_test, y_test表示测试数据的图像和对应标签
# 查看训练集输入图像数据的形状
print("x_train.shape:\n", x_train.shape)
# 查看训练集标签的形状
print("y_train.shape:\n", y_train.shape)
# 查看测试集输入图像数据的形状
print("x_test.shape:\n", x_test.shape)
# 查看测试集标签的形状
print("y_test.shape:\n", y_test.shape)
Cifar10数据集训练集包含5万张尺寸为32×32×3的彩色图片和对应的5万个标签;测试集包含1万张尺寸为32×32×3的彩色图片和对应的1万个标签
2.显示训练集前9个图像
绘制训练集前9个图像并设置图像标题为其对应的标签
# 设置画布大小
plt