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

article/2025/4/22 17:57:45

文章目录

    • 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训练结果:

在这里插入图片描述
在这里插入图片描述

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

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

在这里插入图片描述
注解:这里也是训练两代(虽然训练的时间较少,便于和VGG16模型对比);从上面的结果来看,微调ResNet50之后训练的结果比VGG16要好10个百分点左右,说明对于我们目前来说,微调是一种很好的选择方式(因为对于多数来说,没有这样的硬件配置和足够的资源)。
在这里插入图片描述

3.结果分析:

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

4.实验效果:

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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)文件的结构:

在这里插入图片描述

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

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

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

在这里插入图片描述
第二:
在这里插入图片描述
当提示[y/n]:输入yes:
后面的就是进入自己创建的python环境:
在这里插入图片描述

下载requirements.txt:pip install requirements.txt

注意:这里新创建的环境并不会和你之前的python环境相冲突:
第三:进入Pycharm中,打开项目,选择刚才创建的环境:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择好之后点击OK。

在这里插入图片描述
环境配置后之后就可以训练和测试了;这里我已经训练好了两个模型:

在这里插入图片描述

(2)训练VGG16:

终端输入: python main.py

(3)训练resent50模型:

终端输入:python mainResNet50.py:

在这里插入图片描述

(4)运行Flask.py文件:

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

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/v3FLFraG.shtml

相关文章

卷积神经网络——vgg16网络及其python实现

1、介绍 VGG-16网络包括13个卷积层和3个全连接层,网络结构较LeNet-5等网络变得十分复杂,但同时也有不错的效果。VGG16有强大的拟合能力在当时取得了非常的效果,但同时VGG也有部分不足:1、巨大参数量导致训练时间过长&#xf…

VGG16系列III: 网络模型结构

目录 Part I: CNN的基础构件 一张图片如何作为输入? 什么是卷积 什么是Padding 什么是池化(pooling) 什么是Flatten 什么是全连接层 什么是Dropout 什么是激活函数 VGG16的整体架构图 Part II: VGG 网络架构 典型VGG网络结构 VGG 网络参数数量计算: P…

VGG网络结构(一)

刚开始接触深度学习、卷积神经网络的时候非常懵逼,不知道从何入手,我觉得应该有一个进阶的过程,也就是说,理应有一些基本概念作为奠基石,让你有底气去完全理解一个庞大的卷积神经网络: 本文思路&#xff1a…

VGG 网络结构

从图中可以看出VGG结构由5层卷积层、3层全连接层、softmax输出层构成,层与层之间使用max-pooling(最大池化)分开,所有隐层的激活单元都采用ReLU函数。VGG最大的贡献就是证明了卷积神经网络的深度增加和小卷积核的使用对网络的最终…

PyTorch之VGG16网络结构详解以及源码解读

论文:Very Deep Convolutional Networks for Large-Scale Image Recognition 简单介绍 意义: 证明了增加小卷积核的个数以及网络深度可以提高分类结果的正确率。 预处理: 各通道减去RGB在训练集上的均值。 特点: 1)使用…

VGG-16网络结构

一、VGG-16网络框架介绍 VGGNet是牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发的深度卷积神经网络。 VGGNet探索了卷积神经网络的深度与其性能之间的关系,通过反复堆叠33的小型卷积核和22的最大池化层…

[VGG16]——网络结构介绍及搭建(PyTorch)

一、VGG16的结构层次 VGG16总共有16层,13个卷积层和3个全连接层,第一次经过64个卷积核的两次卷积后,采用一次pooling,第二次经过两次128个卷积核卷积后,采用pooling;再经过3次256个卷积核卷积后。采用pooli…

VGG预训练模型网络结构详解——以VGG16为例

VGG卷积神经网络是牛津大学在2014年提出来的模型。当这个模型被提出时,由于它的简洁性和实用性,马上成为了当时最流行的卷积神经网络模型。它在图像分类和目标检测任务中都表现出非常好的结果。在2014年的ILSVRC比赛中,VGG 在Top-5中取得了92…

卷积神经网络模型之——VGG-16网络结构与代码实现

文章目录 VGGNet简介VGG16网络结构使用pytorch搭建VGG16featuresclassifier完整代码 VGGNet简介 VGG原文:Very deep convolutional networks for large-scale image recognition:https://arxiv.org/pdf/1409.1556.pdf VGG在2014年由牛津大学Visual Geom…

关于VGGNet网络结构浅谈(主要是VGG16结构)

文章目录 1.首先看一下论文中一张表:2.VGG16网络结构解释:3.网络构成详解:4.VGG16使用的卷积核大小都是3x3的,使用比之前小的卷积核有什么作用:5.Tensorflow2.6.0实现VGG16网络结构: 1.首先看一下论文中一张…

深度学习之学习(1-1) VGG16网络结构详解

参见 ​​​​​​【深度学习】全面理解VGG16模型_florrie-CSDN博客_vgg16模型介绍深度学习-VGG16原理详解_£的博客-CSDN博客_vgg16 1、网络结构 根据卷积核大小和卷积层数,VGG共有6中配置,分别为A,A-LRN,B,C,D,E,其中D和E两种最为常…

【深度学习】全面理解VGG16模型

全面理解VGG16模型 VGG16的结构层次介绍结构图VGG16模型所需要的内存容量介绍卷积中的基本概念1.从input到conv1:2.从conv1到conv2之间的过渡:3.conv2到conv3:4.进入conv3:5.从conv3到conv4之间的过渡:6.最后到三层全连…

经典卷积神经网络---VGG16详解

一.VGG概述 VGGNet是牛津大学视觉几何组(Visual Geometry Group)提出的模型,该模型在2014ImageNet图像分类与定位挑战赛 ILSVRC-2014中取得在分类任务第二,定位任务第一的优异成绩。VGGNet突出的贡献是证明了很小的卷积,通过增加网络深度可以…

SpringCloud笔记

Eureka 一、不引入Eureka时 1.引入公共模块依赖 <!-- 引入公共模块依赖 --> <dependency><groupId>niit</groupId><artifactId>springcloud-api</artifactId> </dependency>引入后会发现Maven视图报错&#xff0c;此处需要在父工…

服务链路追踪怎么搞?好搞吗?

微服务架构是一个分布式架构&#xff0c;它按业务划分服务单元&#xff0c;一个分布式系统往往有很多个服务单元。由于服务单元数量众多&#xff0c;业务的复杂性&#xff0c;如果出现了错误和异常&#xff0c;很难去定位。主要体现在&#xff0c;一个请求可能需要调用很多个服…

java小白进阶之基础篇

JAVA基础语法归纳>>小白进阶~~java基础语法 >>Java概述 Java语言的发展历史 1991年出现&#xff0c;1995年正式发布 创始人&#xff1a;James Gosling 出生地&#xff1a;SUN 被Oracle公司在这里插入代码片 最新的JDK的版本&#xff1a; 2020年发布JDK14 Java体系…

WAF绕过总结+工具介绍

什么是WAF Waf是web应用防火墙&#xff08; Web Application Firewa‖l&#xff09;的简称&#xff0c;对来自Web应用程序客户端的各类请求进行内容检测和验证&#xff0c;确保其安全性与合法性&#xff0c;对非法的请求予以实时阻断&#xff0c;为web应用提供防护&#xff0c…

Java基础入门笔记(看到就是赚到)

一、初始java 1. 生活中的程序&#xff1a; 从起床到上班的过程 穿衣打扮—起床—洗漱—吃饭—出门—乘坐交通工具—到公司 2.计算机中的程序: 一组有序指令的集合,需要和计算机交流就要使用计算机语言&#xff0c;java就是计算机语言的一种 3.java能做什么&#xff1a; …

vue-plugin-hiprint vue hiprint vue使用hiprint打印控件VUE HiPrint HiPrint简单使用

vue-plugin-hiprint vue hiprint vue使用hiprint打印控件VUE HiPrint HiPrint简单使用 安装相关依赖安装 vue-plugin-hiprintJQuery安装 打印客户端 引入依赖打印 html 内容 - 简单使用根据模版打印 - 简单使用以下内容 和上面demo 没关系 &#xff01;&#xff01;&#xff01…

Kafka问题整理 (Too many open files等)/kafka重要参数总结

1.Kafka集群搭建好以后&#xff0c;运行一段时间Kafka节点挂掉&#xff0c;程序中出现如下错误 ERROR Error while accepting connection (kafka.network.Acceptor) java.io.IOException: Too many open files 或者 ERROR Error while deleting the clean shutdown file in…