卷积神经网络识别物体个数(2)

完成人工智能实战课的要求,基于卷积神经网络构建一个自动识别盘子个数的模型

接下来进行模型的训练

1、机器学习流程:

image-20220710145326267

2、模型训练

(1)构建一个 tf.data.Dataset

从目录中的图像文件生成一个 tf.data.Dataset,然后调用 image_dataset_from_directory(main_directory, labels='inferred')将返回一个tf.data.Dataset

img

(2)缓存存储数据

img

(3)数据增强

img

(5)构建模型

常见卷积神经网络(CNN),主要由几个卷积层Conv2D和池化层MaxPooling2D 层组成。卷积层与池化层的叠加实现对输入数据的特征提取,最后连接全连接层实现分类。
img

* 特征提取——卷积层与池化层

img

* 实现分类——全连接层

Dense 层等同于全连接 (Full Connected) 层,通过上面的卷积层和池化层,我们已经提取到图像的特征了,下面通过搭建Dense 层实现分类。
img

(6)编译模型—配置模型用于训练

主要是为模型选择损失函数loss、优化器 optimizer、衡量指标metrics(通常用准确度accuracy 来衡量的)
img

(7)设置迭代次数

刚开始迭代了30次,发现loss值太大了,所以一共迭代了好几次,分别有30、100、200、250、300,在后面4.5.9展示了迭代30、200和300的图。

(8)训练模型

image-20220710160430813

(9)保存模型:

image-20220710160440932

(10)绘制训练过程中的损失曲线和精度曲线

* 这里创建了一块画布来同时放置两张图片,便于进行比较

image-20220710160355425

* 迭代300次:

img

posted @ 2022-07-10 16:06  星月故里yw  阅读(237)  评论(0)    收藏  举报