当前课程知识点:计算思维与人工智能基础 >  第三部分:python基础 >  第十章:实例分析与实践 >  10.6卷积神经网络的实现服饰图片的分类

返回《计算思维与人工智能基础》慕课在线视频课程列表

10.6卷积神经网络的实现服饰图片的分类在线视频

下一节:10.7LeNet的介绍

返回《计算思维与人工智能基础》慕课在线视频列表

10.6卷积神经网络的实现服饰图片的分类课程教案、知识点、字幕

下面我们给大家介绍一下卷积神经网络CNN模型的搭建

训练和预测

我们

在使用CNN模型训练的时候

使用的数据集

还是我们前面给他介绍的

Fashion mnist的

所以我们前面的地方做的工作是一样

我们要运作

Tensorflow的框架以及相关的数据包那么倒进来第一步

那么第二部

我们要把我们用的数据集

Fashion mnist导入

那么第三部

我们也需要给画图的时候给我们买零到九个

每类的标签放到列表里

那么再下面

现在需要做归一化的处理

是样子的

那在下一步

我们就可以看一下我们搭建的过程

那我们首先呢

我们可以看到我们读进来的数据及测试的图片和验证的

训练的图片和测试的图片

都是六万张

28乘28像素的

那么测试的图片是一万张

28乘28像素

那么

在做构建卷积神经网络成

我们需要对

我们的输入的矩阵

要和测试的矩阵的需要进行维度的转换

我们把它转换成

多增加一个维度

那么多增加一个维度

那我们在这个后面

前面这个负一是任意的

后面再加维度

把它转换成我们要的矩阵的结构

那下面的我们CNN模型的搭建

CNN模型搭建

那么首先通过Sequential来构建一下整个堆叠式网络的结构

那么第一层的我们的卷基层

那么输入一张图片

然后这个就是

卷积核的个数

我们的卷积核的尺寸

那么卷积的过程的时候滑动的不长

是我们填充的方式

那么在里面的使用的激活函数路

第一层我们的卷积层

第二层是我们的号码池化层

那么池化里面我们只定义了池化的尺寸

然后呢

我们再下面一层的是把它stretching

把它拉伸拉平

那么

因为我们卷积是在二维的

矩阵上

二维的矩阵上在卷

那么池化

那么把它拉成什么

拉成一维的

然后做成全连接的网络

那么用ReLU函数

他们中间层的神经元是三十二个

咱们最后输出呢

是我们

因为是零到九十个分类

我们用的计划还是softmax函数

那么这个就是我们卷积神经网络的搭建

下面的我们需要在编译的时候设置一些是他常用的优化器的使用的损失函数以及

我们的准确率

这个里面我们先执行我们模型的搭建

模型搭建好了

我们以后

是模型的编译

通过model.fit来看一下我们

模型的参数需要多少参数来进行训练

那么看卷积层需要的参数320比我们前面讲的全连接的网络的参数要小很多

那么池化是不需要拉伸也是不需要

那么全连接的时候第一个全连接层是需要173088个参数

第二个第二层的全连接层要330

一共是17万多的参数

需要训练

那么我们构建好了

然后我们设计好了

在我们训练时候的优化器函数以及准确率

那下面的就可以进行训练

那么通过model.fit

那么是我们的训练题训练标签

那我们是

batch size p

然后呢

训练的轮数

那么有效的数据是90%

我们可以把他的训练的

训练后的些参数都放到history里面

我们来运行一下

这是我们模型的训练

训练两批

那么我们的有效的是

这里面valit split分开以后我们可以看到一共六万个

训练的图片

那么在训练的时候

我们用的样本是

通过我们设定一个valit split参数

他就可以把零点一

把它分离出来

然后92%零点九的五万四千张

图片作为我们的训练图片

那么训练的过程中

我们可以看到他有损失

得到

准确率

还有valit

我们的验证的损失

然后呢

验证的

准确率

我们这些值呢

我们model.fit

是给到了我们的history

那么history里面就把些参数就可以存储

我们可以通过

像我们

像我们字典的方式

像这样的方式来存储

那么可以看训练了以后呢

我们得到的准确率

我们第二次比第一轮会更高一些

那么多训练几轮的话

它的准确率还可以再提高

那我们比如说在地方呢

我们再训练一次

相当于在现在的基础上再进行训练

它可以更好的去提高准确率

所以我们可以说到history的话

它就像

像我们的字典一样去存储

那我们historyi下面对准确率和验证的准确率

或者是我们的损失和验证的损失

我们就可以通过图来去描述

你可以看的到

蓝色的是我们的训练

训练的上升的准确率

上升的过程

那我们的验证

是两个图可以看到

卷积神经网络

那么训练和验证的准确率

它的斜率是有所不同的

那么在训练完了以后呢

我们对我们的准确率做一个评估

我们可以看到评估

其实用我们的测试集来评估我们前面训练的模型的参数的使用的情况

得到测试的准确率是零点8831

88%点多

那我们再把

所有的测试集预测一下结果放到

predictions

那么它也是列表

放到列表里

那么放到里面以后呢

我们就可以单个的去预测

比如说我们预测的下标为一的

那么它是第二分类

这是test测试样本的预测出来

我们可以看到测试样本的标签是不是与之对应

那么与之对应的是二

那么第二个分类

我们也可以看一下我们给它的标签

那么就说标签是

这是一个套头衫

那么可以再做分类

比如说我要看第十一个

那么第十一个测试出来是第五类

我们看到准确不准确

可以看到他是准确的

然后呢

第十一类对应的是我们的

是我们的三种凉鞋

下面我们以图像的方式查看一下我们的预测的结果

那我们首先需要编译

两个

函数

一个是用来画图片的

一个是用来画预测的结果的

我们来展示图片里面预测的i

这是我们的预测的列表

那么真实的标签和图片

在这个里面呢

需要把我们这些预测的列表

真实的标签以及对应的图片

把它们放到我们相应的

传进来的参数

把它放到我们变量里面

下面就是我们对图的设置

图片的展示

那么在这个里面的话

我们预测的图片跟通过array max转换的

我们实际的标签的类如果相等的话

我们这时候就用蓝色就表示

否则的话就用红色的表示

我们输出的时候

我们的class names

那么预测的class names

我们的预测的分类的百分比

下面是它的

真实的标签

那么真实的标签我们这里面的

测试给定的标签

设置成我们这个地方

如果是准确的话

用蓝色

不准确的话用红色标示

在下面的话

我们预测的

我们的百分比用bar来去描述

那么进来的时候也是我们预测的标签

下标以及预测的列表和我们的真实的标签

那么在这个里面的也是图前面的设置

那么主要是用bar来去展示

设定的是灰色

那么预测的

那么预测的列表

列表因为是零到九

那么每个标签的概率是不一样的

那么在里面的话零到一之间把它进行展示

那么展示的时候呢

最后呢

我们可以看得到设置

那么如果他是和我们的预测的标签和我们的真实的标签都设置成

红色的那么如果是一样的话

那么真是标签跟预测的标签一样的话

我们再设置成蓝色

如果是一样的话

它就都设置成蓝色

如果不一样的话

那么就有红的

是这样的结果

我们运行一下

我们再来看一张图片

刚才下标为一的图片

预测出来的结果

我们可以看的到

这是图片

这是下面的

它的名称

它的产量预测的百分比那么真实的标签也是这个

这是我们的套头衫

那么在这个地方

他的预测的概率

是百分之百

那么再看另外一个

刚才的12

那么在地方的话

是红色的

就表示我们的预测是不准确的

那么是预测的是2%

那么实际的是

sneaker

那么用柱状图去描述我们预测的真实的bar呢

应该是

但是呢

我们预测出来的bar的数据是这个

bar的描述是红的

也可以同时我们设置一下预测多行多列的

那我们可以看的到

是五行三列

那么这个里面呢

我们可以

用刚才方式一样展示

只不过用了循环

循环都可以多展示几列

看一下多个图片的预测结果

我们看预测出来以后

准确的我们看很一目了然

那么蓝色的柱子就说明是准确

那么有蓝色有红色的就说明不准确

我们可以看我们的预测的概率是88%

从15个图片里面

我们可以看的到

但一个是不准确

那么大部分还是准确率

在训练的话还可以再提高的

那么这个内容请大家回去

按照这样的搭建

自己多训练几遍

我们可以看到最高可以达到多少呢

请大家下去自己去做一下

好的

我们关于CNN的搭建以及训练预测就给大家介绍到这

计算思维与人工智能基础课程列表:

第一部分:计算思维

-1.计算思维的提出

-2.计算思维的要素与应用

-3.培养计算思维

-4.智能时代的教师与教学

-章测试

第二部分:人工智能

-1.人工智能的发展

-2.人工智能的实现与机器学习

-3.人工智能产业

-章测试

第三部分:python基础

-第一章:python简介

--1.1python的介绍

--1.2.anaconda的安装

--章测试

-第二章:编码规范

--2.1 python编码规范

--2.2常量和变量

--章测试

-第三章:数据类型

--3.1数据类型概述

--3. 2.数据转换

--3.3数据类型区别

--章测试

-第四章:基本运算

--4.1.基本运算符

--4.2比较运算符

--4.3逻辑运算符

--4.4位运算符

--4.5成员运算符与身份运算符

--4.6运算符的优先级

--章测试

-第五章:程序控制结构

--5.1顺序结构

--5.2条件结构

--5.3循环结构

--5.4跳转结构

--5.5异常处理

--章测试

-第六章:函数、模块与面向对象

--6.1函数的定义与调用

--6.2面向对象

--6.3魔法函数的应用

--6.4模块与包

--章测试

-第七章:文件操作

--7.1文件的打开与读取

--7.2文件的写入

--7.3CSV模块的应用

--章测试

-第八章:python生态库

--8.1第三方库的安装

--8.2标准库-Os库与Sys库

--8.3.标准库-Time库

--8.4标准库-Random库

--8.5标准库-Turtle库

--8.6第三方库-词云库

--8.7第三方库-pyinstaller库

--8.8第三方库-numpy库(上)

--8.9第三方库-numpy库(下)

--8.10第三方库-pandas库

--8.11第三方库-matplotlib库

--章测试

-第九章:TensorFlow基础

--9.1TensorFlow简介

--9.2TensorFlow 2.0的改进

--9.3TensorFlow的数据应用

--9.4 TensorFlow的设备应用

--9.5.TensorFlow中常用操作

--章测试

-第十章:实例分析与实践

--10.1认识回归问题

--10.2房价的预测

--10.3手写数字识别

--10.4卷积神经网络的介绍

--10.5全连接网络的搭建

--10.6卷积神经网络的实现服饰图片的分类

--10.7LeNet的介绍

--章测试

-第十一章:人工智能在自然语言中的应用

--11.1自然语言处理

--11.2命名实体识别技术

--11.3词向量表示

--11.4自然语言处理的挑战及应用

--章测试

10.6卷积神经网络的实现服饰图片的分类笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。