当前课程知识点:计算思维与人工智能基础 > 第三部分:python基础 > 第十章:实例分析与实践 > 10.5全连接网络的搭建
下面我们在JUPYTER下看一下
我们使用Tensorflow框架去搭建一个全连接的神经网络和卷积神经网络
那么再去
对于我们的图像的一个识别的一个训练以及测试的
情况的一个演示
首先呢
我们来导入我们要应用到Tensorflow框架
以及它里面的函数包
然后我们导进NumPy和数据处理
还有Matplotblo的画图
我们可以把我们的和前面一样
数据及图片可以进行展示
下面的训练里面我们需要给大家介绍一个新的数据
叫Fashion mnist
那么他的导入方法跟Mnist导入一样
Keras.datasets加
Fashion.mnist.load_data就可以导进来
导进来以后
我们可以看他的形状
就是也是六万张
28程28的一个Train mnist
Image就是我们的训练集
一万张对应的测试集
以及
我们可以看到它的训练的或测试的标签都是0到9的
那么这个只是他的一个出来的训练的标签
我们对应的我们这些这样的一个Fashion.mnist他的类型呢
我们对应的我们这些这样的一个Fashion.mnist他的类型呢
是一些服饰的名称
所以我们可以通过给一个列表字符列表来去
通过他的下标零的时候下标为零的时候就是一个Grid(True)
那么下标为一的是一个是figure
下标二的时候是
那么执行他以后呢
我们在图画图展示的时候
你可以把它对应的标签转化成class names
那我们就可以看得更清楚一些
首先我们来看一下这个
我们展示一下我们这个进来的这个训练集这个图片是一个什么样子的情况
我们这是下标一的图片
我们需要显示一个颜色条
然后这个
这是我们的这个网格
让他是显示的
可以运行一下
可以看的到这个颜色条
那么是0到250的
我们如果把这个改成一个
False
那么这个条就不显示
那么cmap plt
如果不显示的话
他就没有右边的这个Keras plt
我们来看一下
那么这样的话
我们看这个grid就不显示了
那么这个条显示是0到255
所以我们做数据处理的时候是需要把它
把它缩放到零到一的范围内
到零一的范围内
我们的执行以后可以看在显示的时候
我们还显示刚才下标为一的图片
那我们缩放已经缩放过了
我们只能把图片修改一下
我们再看一下
我们在看这个下标为一的这个最前面已经缩放过了
我们再看一下它运行的上面那张图片
跟上面一样
那么这个Plt就是什么啊
0到1
那我们可以看看这是缩放
然后呢
我们如果要看多张图片
我们刚才
只有图片
我们下面对应的图片
我们要看多张的图片
那么就做一个循环
每一个前面讲过
这是每行是五个图片
每行五个图片
一共五行
五25
然后他的行列的这个
行列的这个标识把它去掉
把行列的这个刻度把它去掉
然后我们可以显示一下图片
然后显示图片对应的是keras mnist
那我来可以看一下
那我们通过这个
他可以看到只看它的形状
更清楚见我们这个是二制图把它转换成一个
一个二制图的话
对形状可能看得更清楚一些
当然我们要去掉他以后可以看到
我们在执行一下我们这个图片
我们在执行一下我们这个图片
就会是一个什么呀
彩色的图片
出来时那这样
那么这个对应的话
我们可以看到不仅是什么类标号
就会有什么类标号对应的名称
比如说这个踝靴呀
T-shirt呀
这是个裙子
像这个套头衫sandals凉鞋
还有我们的sneakers是我们的运动鞋
那么这衬衫外套大衣
还有bag dress
那么这就是我们这里面的都是我们的训练及以及他的
标号对应的名称
下面我们就可以搭建一个
神经网络
我们首先搭建一个三层的什么呀
神经网络在这个地方呢
我们构建一个什么样
首先构建模型
然后通过keras我们下面模型这个一层层的顺序
第一层我们展开的是平铺层
那么输入进来的是图片是28乘28的
然后第二层是我们的
中间层我们定义了512个
中间的一个
隐藏节点神经元
然后我们的激活函数用
下面一层的是全连接层256个神经元
然后也用 函数
那么下面一个层次是什么
那么输出的十个神经元
那么用 max函数
这就是我们的模型的什么搭建的过程
那么搭建平铺层
那么我们什么全连接层
三层的全连接神经网络
然后呢
我们把它看一下
这是构建好了
我们可以看一下model.
我们可以看他有哪些参数平铺层
那么拉伸的这个平层的话是没有参数
那么到了第一层的时候
512个中间的神经元是对应的
这样的这么多的四万多个参数
那么第二层的
256对应的是这么多个参数
四十多万那么就是13万了
以及最后一层对应的这些总结
就是我们在训练出就要训练这么多这些参数五十三万多全部的参数
我们在这个里面的话模型编译
我们这里面要说一下这个关于他的优化器
他的损失
函数的选择以及它的准确需要说一下
评判的时候准确率
那么这些参数的一个设定
下面的话我们就可以看一下这个就是我们训练这个图片的数据类型
数据类型是一个把它转换成一个浮点数了
再转换把我们的这个图片
然后他们通过把我们图片的数据都
我们把它转换成府路三二的数据转换一下
然后我们这个就是
model.predict是我们进来的图片
然后样本
然后那么是训练两遍 零点一
指的是我们需要六万张图片
我们只用90%去掉那10%
那我们来看训练的
所以是五万四千张的图片
那我们训练可以看到我们的准确率
在这个地方就损失
那么
第一遍训练我们的准确率达到0.8597
那就相当于准确率在85我们看第二遍
训练后
他的准确率肯定是在这个基础上会有更大的提高
我们可以看的到
他的准确率8673达到了这样子的
我们都可以看一下
这是我们训练出来的准确率
我们通过测试集
那么test_images标签来测试
他们的是准确
不准确
那么得到一个测试的这个结果
我们测试是8662
那个跟这个训练的基本上差不多
下面我们看一下测试集的预测的结果
通过前面的模型训练呢
它的准确率达到了百分之八十六多
那么我们可以通过model.predict
把我们预测集的结果
预测放到我们的predictions里面
那么看predictions里面放的什么呢
是我们预测出来的是 编码
我们前面给他介绍里面那我们就是下标为零到九里面的他都是概率
那么通过argmax来获得我们这个最大值的下标
那么看这个就是我们看下标为一的
这个test_images这里面他的预测的类别是二
我们来看看他这个是不是跟我们的这个测试的标签是不是一样
运行一下
可以看到我们的测试的标间也是二
这就说明我们这个预测是正确的
我们再看一下这个预测这二的标签
里面他是一个
执行后
他就是一个什么套头衫
我们同样可以在预测另外的预测里面
我们可以看到看一下第十一
第十一下标为十一的他的预测的类型是什么
预测的类型十一
我们看他预测的类型是什么
第五类
我们看测试标签里面的下标为十一
他标签应该是多少呢
也是五类
那么预测也是正确的
一样我们可以看到这个第五类就是我们的凉鞋
这个一样我们可以把对应的
测试的这个图片
那么测试的下标为十一的这个图片打出来
看它是不是凉鞋呢
我们可以看到
它就是一个
从图片上
我们也可以看到它是一个凉鞋
那么这个前面这个
就是我们通过搭建的三层的全连接神经网络构建的模型
我们可以看评估一下训练
模型可以达到86%到87%左右
那么这时每一次训练的结果会稍有不同
这是我们全连接网络的一个搭建以及模型的训练
与我们的这个测试
那么这时每一次训练的结果会稍有什么不同
这是我们全连接网络的一个搭建以及模型的训练
与我们的这个测试
-章测试
-章测试
-第一章:python简介
--章测试
-第二章:编码规范
--2.2常量和变量
--章测试
-第三章:数据类型
--章测试
-第四章:基本运算
--4.2比较运算符
--4.3逻辑运算符
--4.4位运算符
--章测试
-第五章:程序控制结构
--5.1顺序结构
--5.2条件结构
--5.3循环结构
--5.4跳转结构
--5.5异常处理
--章测试
-第六章:函数、模块与面向对象
--6.2面向对象
--6.4模块与包
--章测试
-第七章:文件操作
--7.2文件的写入
--章测试
-第八章:python生态库
--章测试
-第九章:TensorFlow基础
--章测试
-第十章:实例分析与实践
--章测试
-第十一章:人工智能在自然语言中的应用
--章测试