Tensorflow2.0 卷积神经网络

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

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

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

代表已知数据 

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

 

输出预测结果

2.计算机视觉

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

标准化

 

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

编译模型

 

 

3.使用回调控制训练 

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

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

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


3.卷积神经网络 

 

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

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

检查模型的层,看到图像的旅程,flatten压平就是5个像素x64=1600

 

 

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

4.图像处理 

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

 

 

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

  

训练 

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

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

 

构建一个人马分类器 

 

编译网络

 

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

训练

 

运行模型 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值