当前位置:网站首页 > C++编程 > 正文

CNN神经网络预测实例(cnn神经网络可以用来预测吗)



第一层:卷积层。

第二层:卷积层。

第三层:全连接层。

第四层:输出层。

图中原始的手写数字的图片是一张 28×28 的图片,并且是黑白的,所以图片的通道数是1,输入数据是 28×28×1 的数据,如果是彩色图片,图片的通道数就为 3。
该网络结构是一个 4 层的卷积神经网络(计算神经网络层数的时候,有权值的才算是一层,池化层就不能单独算一层)(池化的计算是在卷积层中进行的)。
对多张特征图求卷积,相当于是同时对多张特征图进行特征提取。

特征图数量越多说明卷积网络提取的特征数量越多,如果特征图数量设置得太少容易出现欠拟合,如果特征图数量设置得太多容易出现过拟合,所以需要设置为合适的数值。

5-1、第一层:第一个卷积层

第一个卷积层:卷积层+池化层。

5-2、第二层:第二个卷积层

5-3、扁平化

把(64,7,7,64)数据变成:(64,7*7*64)。

flatten扁平化:

5-4、第三层:第一个全连接层

5-5、第四层:第二个全连接层(输出层)

设置优化器、损失函数、标签

效果:

Epoch 1/10
938/938 [==============================] - 142s 151ms/step - loss: 0.3319 - accuracy: 0.9055 - val_loss: 0.0895 - val_accuracy: 0.9728
Epoch 2/10
938/938 [==============================] - 158s 169ms/step - loss: 0.0911 - accuracy: 0.9721 - val_loss: 0.0515 - val_accuracy: 0.9830
Epoch 3/10
938/938 [==============================] - 146s 156ms/step - loss: 0.0629 - accuracy: 0.9807 - val_loss: 0.0389 - val_accuracy: 0.9874
Epoch 4/10
938/938 [==============================] - 120s 128ms/step - loss: 0.0498 - accuracy: 0.9848 - val_loss: 0.0337 - val_accuracy: 0.9889
Epoch 5/10
938/938 [==============================] - 119s 127ms/step - loss: 0.0424 - accuracy: 0.9869 - val_loss: 0.0273 - val_accuracy: 0.9898
Epoch 6/10
938/938 [==============================] - 129s 138ms/step - loss: 0.0338 - accuracy: 0.9897 - val_loss: 0.0270 - val_accuracy: 0.9907
Epoch 7/10
938/938 [==============================] - 124s 133ms/step - loss: 0.0302 - accuracy: 0.9904 - val_loss: 0.0234 - val_accuracy: 0.9917
Epoch 8/10
938/938 [==============================] - 132s 140ms/step - loss: 0.0264 - accuracy: 0.9916 - val_loss: 0.0240 - val_accuracy: 0.9913
Epoch 9/10
938/938 [==============================] - 139s 148ms/step - loss: 0.0233 - accuracy: 0.9926 - val_loss: 0.0235 - val_accuracy: 0.9919
Epoch 10/10
938/938 [==============================] - 139s 148ms/step - loss: 0.0208 - accuracy: 0.9937 - val_loss: 0.0215 - val_accuracy: 0.9924


















可以发现训练10次以后,效果达到了99%+,还是比较不错的。

数据集的图片(之一):

可以发现和数据集中的白底黑字差别很大,所以我们把它反转一下:

MNIST数据集中的数据都是黑底白字,且取值在0~1之间。

CNN神经网络预测需要四维数据。

以上就是Python神经网络TensorFlow基于CNN卷积识别手写数字的详细内容,更多关于TensorFlow识别手写数字的资料请关注脚本之家其它相关文章!

到此这篇CNN神经网络预测实例(cnn神经网络可以用来预测吗)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ovns电子烟jc02(ovnle电子烟)2025-05-26 07:27:10
  • awvs官网下载(awcc官网下载)2025-05-26 07:27:10
  • sigmod会议审稿时间(sigcomm会议)2025-05-26 07:27:10
  • console翻译(consoling翻译)2025-05-26 07:27:10
  • cnns认证有什么用(cns认证标志)2025-05-26 07:27:10
  • mha是什么意思医学上(医学上mhc是什么意思)2025-05-26 07:27:10
  • kubectl 配置文件(kubectl 命令)2025-05-26 07:27:10
  • can通讯接口(can通讯接口定义)2025-05-26 07:27:10
  • mockito 静态方法(mockito 静态方法donothing)2025-05-26 07:27:10
  • pyc文件是什么(pyc文件是什么文件)2025-05-26 07:27:10
  • 全屏图片