手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)

文章目录

    • 1.VGG16训练结果:
    • 2.微调ResNet50之后的训练结果:
    • 3.结果分析:
    • 4.实验效果:
      • (1)VGG16模型预测的结果:
      • (2)在ResNet50微调之后预测的效果:
    • 5.相关代码和知识点:
      • (1)VGG16网络结构:
      • (2) VGG16特征提取:
      • (3)有关微调和迁移学习:
      • (4)代码下载:
      • (5)文件的结构:
    • 6.训练VGG16模型和微调之后的ResNet50模型:
      • (1)下载requirements.txt文件和创建新环境:
      • (2)训练VGG16:
      • (3)训练resent50模型:
      • (4)运行Flask.py文件:

1.VGG16训练结果:

手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第1张图片
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第2张图片

注解:因为这个训练时间太长,我自己的配置也是CPU,所以这里只训练了两代;从上面的结果来看,最后的验证准确率在50%左右。

2.微调ResNet50之后的训练结果:

手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第3张图片
注解:这里也是训练两代(虽然训练的时间较少,便于和VGG16模型对比);从上面的结果来看,微调ResNet50之后训练的结果比VGG16要好10个百分点左右,说明对于我们目前来说,微调是一种很好的选择方式(因为对于多数来说,没有这样的硬件配置和足够的资源)。
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第4张图片

3.结果分析:

从上面的对比结果来看,微调明显要好于我们直接训练模型,当然我这里只训练了2代,对于继续往后面训练的结果还不能完全下结论,但是对我们这样的硬件资源来说,微调无疑是最好的选择方式,不仅是速度的提升,还有性能的提升;但是总体来看这两个模型在训练过程中,其中ResNet50有点过拟合。

4.实验效果:

(1)VGG16模型预测的结果:

手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第5张图片
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第6张图片

(2)在ResNet50微调之后预测的效果:

手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第7张图片
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第8张图片

5.相关代码和知识点:

(1)VGG16网络结构:

https://mydreamambitious.blog.csdn.net/article/details/123943751

(2) VGG16特征提取:

https://mydreamambitious.blog.csdn.net/article/details/123943372

(3)有关微调和迁移学习:

https://mydreamambitious.blog.csdn.net/article/details/123906833

(4)代码下载:

模型和数据集下载-百度网盘:
链接:https://pan.baidu.com/s/1a-t8eV-A5VQdm2cJ4bkBFw
提取码:4oyg
代码下载Github:https://github.com/KeepTryingTo/-.git

(5)文件的结构:

手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第9张图片

6.训练VGG16模型和微调之后的ResNet50模型:

(1)下载requirements.txt文件和创建新环境:

注意:最好自己再重新创建一个python环境:
创建方法:
第一:进入以下:

手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第10张图片
第二:
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第11张图片
当提示[y/n]:输入yes:
后面的就是进入自己创建的python环境:
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第12张图片

下载requirements.txt:pip install requirements.txt

注意:这里新创建的环境并不会和你之前的python环境相冲突:
第三:进入Pycharm中,打开项目,选择刚才创建的环境:
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第13张图片
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第14张图片
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第15张图片
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第16张图片
手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第17张图片
选择好之后点击OK。

手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第18张图片
环境配置后之后就可以训练和测试了;这里我已经训练好了两个模型:

手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第19张图片

(2)训练VGG16:

终端输入: python main.py

(3)训练resent50模型:

终端输入:python mainResNet50.py:

在这里插入图片描述

(4)运行Flask.py文件:

注意:这里需要转入到当前文件的目录下:
终端输入:cd Flask
终端输入: python Flask.py

手动搭建的VGG16网络结构训练数据和使用ResNet50微调(迁移学习)训练数据对比(图像预测+前端页面显示)_第20张图片
在这里插入图片描述

你可能感兴趣的:(python,计算机视觉)