tebsorflow2.0 卷积神经网络的实现实例(下)

简介: 本实例主要介绍利用tf.data读取图片的方法卷积神经网络的构建训练以及测试

结果:

Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv2d (Conv2D)              (None, 254, 254, 64)      1792      
_________________________________________________________________
conv2d_1 (Conv2D)            (None, 252, 252, 64)      36928     
_________________________________________________________________
max_pooling2d (MaxPooling2D) (None, 126, 126, 64)      0         
_________________________________________________________________
conv2d_2 (Conv2D)            (None, 124, 124, 128)     73856     
_________________________________________________________________
conv2d_3 (Conv2D)            (None, 122, 122, 128)     147584    
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 61, 61, 128)       0         
_________________________________________________________________
conv2d_4 (Conv2D)            (None, 59, 59, 256)       295168    
_________________________________________________________________
conv2d_5 (Conv2D)            (None, 57, 57, 256)       590080    
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 28, 28, 256)       0         
_________________________________________________________________
conv2d_6 (Conv2D)            (None, 26, 26, 512)       1180160   
_________________________________________________________________
max_pooling2d_3 (MaxPooling2 (None, 13, 13, 512)       0         
_________________________________________________________________
conv2d_7 (Conv2D)            (None, 11, 11, 512)       2359808   
_________________________________________________________________
max_pooling2d_4 (MaxPooling2 (None, 5, 5, 512)         0         
_________________________________________________________________
conv2d_8 (Conv2D)            (None, 3, 3, 1024)        4719616   
_________________________________________________________________
global_average_pooling2d (Gl (None, 1024)              0         
_________________________________________________________________
dense (Dense)                (None, 1024)              1049600   
_________________________________________________________________
dense_1 (Dense)              (None, 256)               262400    
_________________________________________________________________
dense_2 (Dense)              (None, 1)                 257       
=================================================================
Total params: 10,717,249
Trainable params: 10,717,249
Non-trainable params: 0
_________________________________________________________________

4.2 训练

steps_per_eooch = train_count//batch_size
validation_steps = test_count//batch_size
history = model.fit(train_ds,epochs=30,steps_per_epoch=steps_per_eooch,validation_data=test_ds,validation_steps=validation_steps)
Epoch 1/30
35/35 [==============================] - 20s 565ms/step - loss: 0.8902 - acc: 0.5688 - val_loss: 0.4821 - val_acc: 0.8672
Epoch 2/30
35/35 [==============================] - 19s 556ms/step - loss: 0.7571 - acc: 0.6170 - val_loss: 0.6877 - val_acc: 0.5078
Epoch 3/30
35/35 [==============================] - 19s 556ms/step - loss: 0.6371 - acc: 0.6232 - val_loss: 0.4861 - val_acc: 0.8008
Epoch 4/30
35/35 [==============================] - 19s 555ms/step - loss: 0.4127 - acc: 0.8554 - val_loss: 0.2898 - val_acc: 0.9062
Epoch 5/30
35/35 [==============================] - 19s 557ms/step - loss: 0.4168 - acc: 0.7688 - val_loss: 0.4776 - val_acc: 0.5000
Epoch 6/30
35/35 [==============================] - 19s 555ms/step - loss: 0.4127 - acc: 0.7080 - val_loss: 0.2026 - val_acc: 0.9297
Epoch 7/30
35/35 [==============================] - 19s 556ms/step - loss: 0.2303 - acc: 0.9384 - val_loss: 0.1515 - val_acc: 0.9453
Epoch 8/30
35/35 [==============================] - 19s 556ms/step - loss: 0.1769 - acc: 0.9491 - val_loss: 0.1918 - val_acc: 0.9531
Epoch 9/30
35/35 [==============================] - 19s 556ms/step - loss: 0.1526 - acc: 0.9518 - val_loss: 0.0907 - val_acc: 0.9727
Epoch 10/30
35/35 [==============================] - 19s 556ms/step - loss: 0.1172 - acc: 0.9625 - val_loss: 0.0790 - val_acc: 0.9766
Epoch 11/30
35/35 [==============================] - 19s 556ms/step - loss: 0.1337 - acc: 0.9482 - val_loss: 0.0888 - val_acc: 0.9805
Epoch 12/30
35/35 [==============================] - 19s 556ms/step - loss: 0.1312 - acc: 0.9536 - val_loss: 0.1095 - val_acc: 0.9805
Epoch 13/30
35/35 [==============================] - 19s 555ms/step - loss: 0.4718 - acc: 0.9027 - val_loss: 0.2007 - val_acc: 0.9141
Epoch 14/30
35/35 [==============================] - 19s 554ms/step - loss: 0.1906 - acc: 0.9321 - val_loss: 0.1523 - val_acc: 0.9609
Epoch 15/30
35/35 [==============================] - 19s 554ms/step - loss: 0.1567 - acc: 0.9554 - val_loss: 0.0998 - val_acc: 0.9727
Epoch 16/30
35/35 [==============================] - 19s 555ms/step - loss: 0.1333 - acc: 0.9589 - val_loss: 0.1101 - val_acc: 0.9805
Epoch 17/30
35/35 [==============================] - 19s 554ms/step - loss: 0.1245 - acc: 0.9679 - val_loss: 0.0773 - val_acc: 0.9844
Epoch 18/30
35/35 [==============================] - 19s 554ms/step - loss: 0.1157 - acc: 0.9652 - val_loss: 0.0978 - val_acc: 0.9805
Epoch 19/30
35/35 [==============================] - 19s 553ms/step - loss: 0.1237 - acc: 0.9688 - val_loss: 0.0766 - val_acc: 0.9766
Epoch 20/30
35/35 [==============================] - 19s 554ms/step - loss: 0.1069 - acc: 0.9670 - val_loss: 0.0850 - val_acc: 0.9805
Epoch 21/30
35/35 [==============================] - 19s 554ms/step - loss: 0.1234 - acc: 0.9696 - val_loss: 0.0670 - val_acc: 0.9805
Epoch 22/30
35/35 [==============================] - 19s 553ms/step - loss: 0.0945 - acc: 0.9741 - val_loss: 0.0665 - val_acc: 0.9805
Epoch 23/30
35/35 [==============================] - 19s 553ms/step - loss: 0.1293 - acc: 0.9679 - val_loss: 0.0733 - val_acc: 0.9805
Epoch 24/30
35/35 [==============================] - 19s 553ms/step - loss: 0.1314 - acc: 0.9607 - val_loss: 0.0785 - val_acc: 0.9805
Epoch 25/30
35/35 [==============================] - 19s 554ms/step - loss: 0.1082 - acc: 0.9661 - val_loss: 0.0637 - val_acc: 0.9844
Epoch 26/30
35/35 [==============================] - 19s 554ms/step - loss: 0.1139 - acc: 0.9714 - val_loss: 0.0671 - val_acc: 0.9805
Epoch 27/30
35/35 [==============================] - 19s 553ms/step - loss: 0.1266 - acc: 0.9652 - val_loss: 0.0688 - val_acc: 0.9766
Epoch 28/30
35/35 [==============================] - 19s 553ms/step - loss: 0.0986 - acc: 0.9696 - val_loss: 0.0668 - val_acc: 0.9844
Epoch 29/30
35/35 [==============================] - 19s 553ms/step - loss: 0.0882 - acc: 0.9723 - val_loss: 0.0513 - val_acc: 0.9805
Epoch 30/30
35/35 [==============================] - 19s 554ms/step - loss: 0.0832 - acc: 0.9777 - val_loss: 0.0423 - val_acc: 0.9883

5. 结果

这一部分我们将展示测试集合验证集的准确度和损失的变化趋势’

history.history.keys()
plt.plot(history.epoch, history.history.get('acc'), label='acc')
plt.plot(history.epoch, history.history.get('val_acc'), label='val_acc')
plt.legend()
plt.show()

plt.plot(history.epoch, history.history.get('loss'), label='loss')
plt.plot(history.epoch, history.history.get('val_loss'), label='val_loss')
plt.legend()

相关文章
|
10天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第7天】本文将深入探讨卷积神经网络(CNN)的基本原理,以及它如何在图像识别领域中大放异彩。我们将从CNN的核心组件出发,逐步解析其工作原理,并通过一个实际的代码示例,展示如何利用Python和深度学习框架实现一个简单的图像分类模型。文章旨在为初学者提供一个清晰的入门路径,同时为有经验的开发者提供一些深入理解的视角。
|
3天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
11 1
|
7天前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了基于分组卷积神经网络(GroupCNN)和灰狼优化(GWO)的时间序列回归预测算法。算法运行效果良好,无水印展示。使用Matlab2022a开发,提供完整代码及详细中文注释。GroupCNN通过分组卷积减少计算成本,GWO则优化超参数,提高预测性能。项目包含操作步骤视频,方便用户快速上手。
|
8天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于WOA鲸鱼优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了一种基于WOA优化的GroupCNN分组卷积网络时间序列预测算法。使用Matlab2022a开发,提供无水印运行效果预览及核心代码(含中文注释)。算法通过WOA优化网络结构与超参数,结合分组卷积技术,有效提升预测精度与效率。分组卷积减少了计算成本,而WOA则模拟鲸鱼捕食行为进行优化,适用于多种连续优化问题。
|
8天前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
22 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
2天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化卷积神经网络(Bayes-CNN)的多因子数据分类识别算法matlab仿真
本项目展示了贝叶斯优化在CNN中的应用,包括优化过程、训练与识别效果对比,以及标准CNN的识别结果。使用Matlab2022a开发,提供完整代码及视频教程。贝叶斯优化通过构建代理模型指导超参数优化,显著提升模型性能,适用于复杂数据分类任务。
|
4天前
|
机器学习/深度学习 编解码 算法
【深度学习】经典的深度学习模型-01 开山之作:CNN卷积神经网络LeNet-5
【深度学习】经典的深度学习模型-01 开山之作:CNN卷积神经网络LeNet-5
10 0
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)
【10月更文挑战第10天】深入理解深度学习中的卷积神经网络(CNN)
47 0
|
9天前
|
机器学习/深度学习 人工智能 监控
|
8天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:守护数字世界的坚盾
在数字化浪潮中,网络安全已成为维系现代社会正常运转的关键。本文旨在探讨网络安全漏洞的成因、加密技术的应用及安全意识的提升,以期为广大用户和技术人员提供实用的知识分享。通过对这些方面的深入剖析,我们期望能够共同构建一个更加安全可靠的数字环境。

热门文章

最新文章