TensorFlow 2卷积神经网络案例分析与实现

1.实现一个简单的神经网络

TensorFlow中的一个称为keras的API,Keras使定义神经网络变得非常容易
dense定义一层相连的神经元,一个dense表示一层

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_深度学习

优化器是sgd,代表随机梯度下降,损失函数是均方误差

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_深度学习_02

代表已知数据

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_tensorflow_03

训练在fit命令中进行 ,经历500次训练循环

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_生成器_04


输出预测结果

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_深度学习_05



2.计算机视觉

加载数据,调用load_data方法返回4个列表

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_生成器_06

标准化

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_机器学习_07


3层神经网络 ,括号中的第一个参数表示神经元的数量,最后一个有10个单元,因为数据集中有10类标签,这里应该匹配,第一层是一个扁平层输入的形状是28x28,因为我们的图像就是28x28,扁平化是将这个28x28的正方形变成一个简单的线性阵列,中间一层是隐藏层有128个神经元

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_深度学习_08

编译模型

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_tensorflow_09


tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_深度学习_10


3.使用回调控制训练

在每个epoch可以回调一个代码函数

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_深度学习_11

现在写一个回调,on_epoch_end函数在结束epoch时调用回调,它也发送一个包含很多关于训练当前状态的log,当前损失率在日志中可用,这里就是在损失函数小于0.4时停止训练

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_tensorflow2卷积神经网络案例_12

现在调用callback类,首先实例化callback,然后使用回调参数

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_生成器_13

3.卷积神经网络

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_tensorflow_14


conv卷积层,要求Keras为我们生成64个过滤器,过滤器是3x3,激活函数是Relu,意味着负值会被丢弃,最后输入形状和之前一样为28x28,通道是1,即灰度图像

下一层是池化层,取最大值,2x2的池化

检查模型的层

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_生成器_15

,看到图像的旅程,flatten压平就是5个像素x64=1600

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_生成器_16


tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_tensorflow_17


可视化表示过程 ,先打印出前100个测试标签

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_深度学习_18

4.图像处理


tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_深度学习_19

中实例化一个图片生成器,将rescale传递使其数据标准化,调用目录流方法从目录和子目录中加载图像,将其指向包含图像的子目录的目录,子目录的名称是图片的标签,所以确定你指向的目录是正确的,size使图片大小一致。指定分类类型,是二元分类

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_生成器_20


tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_深度学习_21


编译模型,二分交叉熵做损失函数,因为是二分类问题,调整学习率来使用RMSprop优化器

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_tensorflow2卷积神经网络案例_22

 

训练

使用generater生成器来调用数据集,第一个参数是训练生成器,从训练目录中流式传输图像

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_机器学习_23

upload所有的图像然后循环遍历该集合中所有的图像,调用model.predict传递细节,返回分类数组

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_tensorflow_24


构建一个人马分类器

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_生成器_25

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_机器学习_26


编译网络

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_tensorflow_27


接下来使用图像数据生成器 ,先归一化,接着主目录地址没置到刚刚解压出来的文件位置

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_tensorflow_28

训练

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_tensorflow_29


运行模型

tensorflow2卷积神经网络案例 tensorflow2.0搭建卷积神经网络_生成器_30


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空