文章目录

  • 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


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

  1. ResNet网络详解并使用pytorch搭建模型、并基于迁移学习训练

    1.ResNet网络详解 网络中的创新点: (1)超深的网络结构(突破1000层) (2)提出residual模块 (3)使用Batch Normalization加速训练(丢弃dropout) (1 ...

  2. 《预训练周刊》第17期:深度迁移学习与数据增强改善2型糖尿病预测、钢琴补谱应用...

    No.17 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第17期&l ...

  3. 数据不足,如何进行迁移学习?

    现在,人工智能的发展处于跳跃式阶段,我们也对AI在大型数据集的应用进展感到吃惊.更重要的是,那些我们没有跟踪的数十亿张照片或餐厅的评论并没有被遗漏掉:迁移学习技术让收集数据变得更加"容易&q ...

  4. 迁移学习:数据不足时如何深度学习

    转自:http://www.sohu.com/a/125849954_470008 使用深度学习技术解决问题的过程中,最常见的障碍在于训练模型过程中所需的海量数据.需要如此多的数据,原因在于机器在学习 ...

  5. 迁移学习训练分类模型实践第一篇

    迁移学习训练分类模型实践第一篇 前言 数据获取.预处理 构建模型 查看模型参数量和FLOPs 测试模型 前言 为了简洁,本文不包含任何训练过程,仅介绍处理数据.构建模型.使用随机初始化权重推断: 关于 ...

  6. python大数据零基础_零基础学习大数据人工智能,学习路线篇!

    大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后. Python:Python 的排名从去年开始就借助人工智能持续上升,现在它 ...

  7. pytorch1.7教程实验——迁移学习训练卷积神经网络进行图像分类

    只是贴上跑通的代码以供参考学习 参考网址:迁移学习训练卷积神经网络进行图像分类 需要用到的数据集下载网址: https://download.pytorch.org/tutorial/hymenopt ...

  8. java后台如何给数据给前端_JAVA后台 关于如何从后台传递信息在jsp前端页面显示...

    JAVA后台 关于如何从后台传递信息在jsp前端页面显示 首先,博主今天为了将后台的信息传递到前台,废了不少的脑筋,一开始,博主采用了request.setAttribute()的方法,来实现的,具体 ...

  9. MobileNetv1、v2网络详解、使用pytorch搭建模型MobileNetv2并基于迁移学习训练

    1.MobileNetv1网络详解 传统卷积神经网络专注于移动端或者嵌入式设备中的轻量级CNN网络,相比于传统卷积神经网络,在准确率小幅降低的前提下大大减少模型参数与运算量.(相比VGG16准确率减少 ...

最新文章

  1. [zz]GNU C __attribute__ 机制简介
  2. PAT甲级1093 Count PAT‘s :[C++题解]DP、状态机模型dp
  3. 单机负载告警,数据库与应用分离
  4. Python可视化库matplotlib(基础整理)
  5. .NET面试基础知识
  6. 皇帝的新脑-读书笔记
  7. quartz spring配置实例代码demo下载
  8. coreseek mysql.sock_coreseek+lnmp实现站内全文检索
  9. 理解概念IMAP4、IMAP4rev1 client protocol、POP3、SMTP、MIME、RFC822
  10. win10浏览器html乱码,win10系统浏览器字体乱码的解决方法
  11. neo4j java 模糊搜索,Neo4j 使用cypher语言进行查询
  12. 国产8K摄像机记录中国航展的飞速发展
  13. python散点图图例显示标记点类型_python – matplotlib散点图中的标记点
  14. 高度近视也不用戴眼镜了 (经典珍藏版)——
  15. matlab趋势分析法,趋势分析法案例.pdf
  16. 读书笔记:SAFNet
  17. 整理6个超好用的在线编辑器!
  18. VS2008 PRO 、WDK 和DDKWizard搭建Vista驱动开发环境
  19. Java中的运算符优先级
  20. Unable to connect to Redis无法连接到Redis

热门文章

  1. 几句代码 修改 Kali 2020.3 - root 用户的密码
  2. 无连接的用户数据报协议UDP
  3. 机器视觉系统设计关键:成像基准
  4. 深度学习 VS 传统计算机视觉
  5. 解析激光雷达中时序融合的研究现状和发展方向
  6. 算法 - 最好、最坏、平均复杂度
  7. 深入理解Kafka Connect:转换器和序列化
  8. Groovy基本句法
  9. [Java]JDBC操作MySQL数据库
  10. ActiveMQ持久化消息的三种方式