TensorFlow中的一个称为keras的API,Keras使定义神经网络变得非常容易
dense定义一层相连的神经元,一个dense表示一层
优化器是sgd,代表随机梯度下降,损失函数是均方误差
代表已知数据
训练在fit命令中进行 ,经历500次训练循环
输出预测结果
加载数据,调用load_data方法返回4个列表
标准化
3层神经网络 ,括号中的第一个参数表示神经元的数量,最后一个有10个单元,因为数据集中有10类标签,这里应该匹配,第一层是一个扁平层输入的形状是28x28,因为我们的图像就是28x28,扁平化是将这个28x28的正方形变成一个简单的线性阵列,中间一层是隐藏层有128个神经元
编译模型
在每个epoch可以回调一个代码函数
现在写一个回调,on_epoch_end函数在结束epoch时调用回调,它也发送一个包含很多关于训练当前状态的log,当前损失率在日志中可用,这里就是在损失函数小于0.4时停止训练
conv卷积层,要求Keras为我们生成64个过滤器,过滤器是3x3,激活函数是Relu,意味着负值会被丢弃,最后输入形状和之前一样为28x28,通道是1,即灰度图像
下一层是池化层,取最大值,2x2的池化
检查模型的层
,看到图像的旅程,flatten压平就是5个像素x64=1600
可视化表示过程 ,先打印出前100个测试标签
在
中实例化一个图片生成器,将rescale传递使其数据标准化,调用目录流方法从目录和子目录中加载图像,将其指向包含图像的子目录的目录,子目录的名称是图片的标签,所以确定你指向的目录是正确的,size使图片大小一致。指定分类类型,是二元分类
编译模型,二分交叉熵做损失函数,因为是二分类问题,调整学习率来使用RMSprop优化器
训练
使用generater生成器来调用数据集,第一个参数是训练生成器,从训练目录中流式传输图像
upload所有的图像然后循环遍历该集合中所有的图像,调用model.predict传递细节,返回分类数组
构建一个人马分类器
编译网络
接下来使用图像数据生成器 ,先归一化,接着主目录地址没置到刚刚解压出来的文件位置
训练
运行模型
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删