VGG16实现分类任务
VGG16实现分类任务
VGG是2014年由牛津大学著名研究组VGG(Visual Geometry Group)提出,斩获当年ImageNet竞赛中定位任务第一名和分类任务第二名。
原理图
原理简述
例如有张224x224的RGB图片,我们让他通过两个卷积核为3的卷积层,再通过最大池化层**(核尺寸为2,步距为2)**。至于卷积层的输入输出维度,参考下图,我们一般常用VGG16模型,最终用多个FC实现分类,也可将FC换成卷积核为1的卷积层。
数据集
同样选用本人常用的海贼王数据集来测试,可以根据个人需求修改。
下面提供一个简单数据集。
Kaggle的鸟儿分类数据集,共315个分类
https://www.kaggle.com/gpiosenka/100-bird-species
可以用kaggle命令选择下载
kaggle datasets download -d gpiosenka/100-bird-species
数据预处理
讲图片预resize为224x224的图片,并进行随机翻转,可参考图像增广
https://www.quarkhackers.space/2021/10/15/%E5%9B%BE%E5%83%8F%E5%A2%9E%E5%B9%BF/
最终转为Tensor,并进行归一化处理。
参考代码
transforms.Compose([transforms.RandomResizedCrop(224),transforms.RandomHorizontalFlip(),transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
训练结果
结果分析
在训练过程,针对此数据集,VGG16的学习率不宜过高,过高会出现loss不收敛
在loss为0.01时结果如下
VGG网络acc可达到百分之90以上,只是对于小数据集而言,模型过于繁重,可选用层数少的模型,并且在后面3层FC,可根据个人需求修改。
完整代码链接
https://github.com/JiaZhengJingXianSheng/VGG16
VGG16实现分类任务相关推荐
- tensorflow迁移学习:VGG16花朵分类
转自:https://blog.csdn.net/weixin_41770169/article/details/80330581 github地址:https://github.com/126921 ...
- VGG16迁移学习实现
VGG16迁移学习实现 本文讨论迁移学习,它是一个非常强大的深度学习技术,在不同领域有很多应用.动机很简单,可以打个比方来解释.假设想学习一种新的语言,比如西班牙语,那么从已经掌握的另一种语言(比如英 ...
- tensorflow微调vgg16 程序代码汇总
一.[深度学习图像识别课程]tensorflow迁移学习系列:VGG16花朵分类 转自:https://blog.csdn.net/weixin_41770169/article/details/80 ...
- 【人工智能项目】卷积神经网络图片分类框架
[人工智能项目]卷积神经网络图片分类框架 本次硬核分享当时做图片分类的工作,主要是整理了一个图片分类的框架,如果想换模型,引入新模型,在config中修改即可.那么走起来瓷!!! 整体结构 confi ...
- 深度学习二(Pytorch物体检测实战)
深度学习二(Pytorch物体检测实战) 文章目录 深度学习二(Pytorch物体检测实战) 1.PyTorch基础 1.1.基本数据结构:Tensor 1.1.1.Tensor数据类型 1.1.2. ...
- 最详细的FCN论文笔记
个人博客:http://www.chenjianqu.com/ 原文链接:http://www.chenjianqu.com/show-81.html 文:Jonathan Long,Evan She ...
- 《深度学习之PyTorch物体检测实战》—读书笔记
随书代码 物体检测与PyTorch 深度学习 为了赋予计算机以人类的理解能力与逻辑思维,诞生了人工智能(Artificial Intelligence, AI)这一学科.在实现人工智能的众多算法中,机 ...
- 【学习日记】使用百度深度学习平台进行深度学习
最近,一直在自学深度学习.一边学习理论,一遍学习编程.在做CNN的时候,手头的笔记本电脑就吃不消了,运行的速度明显跟不上.本来想买一台带好点的显卡,可是调研了一下,带NVIDIA 1080的差不多要1 ...
- 综述笔记 | 一些弱监督语义分割论文
点击上方"AI算法修炼营",选择加星标或"置顶" 标题以下,全是干货 这里的弱监督信息为image-level的类别信息,即没有像素级的语义分割标签,而仅有图像 ...
最新文章
- 黑裙安装linux环境,Linux学习笔记(一) ---- 安装Linux系统
- OpenLayers中地图缩放级别的设置方法
- Understanding Web Internals--The flow of Messages
- 详细描述一下 Elasticsearch 更新和删除文档的过程。
- c mysql 返回自增id_mysql返回自增id
- C语言真题考研pdf,中财信息学院C语言程序设计1999年考研真题.pdf
- [转]网络安全设备Bypass功能介绍及分析 - [网络编程]
- OWASP zap 代理设置
- 发货单分期发货分期收款
- 近几年CVPR图像压缩总结
- 国内主要的量化交易平台
- 【现成工具】java获取国家法定节假日包含指定月份节假日和周末
- Redis——过期时间/过期回收策略
- Excel数据透视表: GetPivotData
- 【火同学】OPencv学习笔记——滑动条的创建和使用
- 计算机基础_程序是怎样跑起来的_04_有棱有角的内存
- struct dst_entry	*dst
- AI落地制造业:智能机器人应具备这4种能力
- 【SLAM学习】ORB-SLAM2-大体框架(OpenVSLAM)
- React (fetch redux初识 state action reducer getState dispatch .subscribe 取消监听 ActionTypes Action Crea)
热门文章
- 对比WebFlux和WebMVC (为什么使用WebFlux)
- Box2D一:基础知识
- 【简单DP】CF1420 C1
- 按图搜索商品(拍立淘)
- 百度无人驾驶商业化加速,阿波龙已成全球车企自动化转型中坚平台
- 计算机英语新词的认知语义阐释论文,汉语言文学-网络流行语的认知语义阐释-毕业论文格式范文(2)-优度********网...
- 【测绘程序设计】——大地主题解算
- 2020年终总结 : 乘风破浪
- Bios设置引起linux卡界面,根据显示的BIOS信息来处理电脑无法启动故障的方法
- java 1.8 SteamAPI认识