当前位置:网站首页>Yolov5更换上采样方式
Yolov5更换上采样方式
2022-06-25 09:38:00 【迪菲赫尔曼】
Yolov5更换上采样方式
文章目录
常用上采样方式介绍
1. 最近邻插值(Nearest neighbor interpolation)

2. 双线性插值(Bi-Linear interpolation)

3. 双立方插值(Bi-Cubic interpolation)

计算效果:最近邻插值算法 < 双线性插值 < 双三次插值
计算速度:最近邻插值算法 > 双线性插值 > 双三次插值
4.反池化

5.转置卷积

yolov5默认采用的就是最近邻插值
实验结果
这里我将原本的最近邻插值的上采样方式替换为转置卷积;有人通过实验证明了确实涨点,但是我在VOC数据集上测试并没有涨点,mAP0.5大概掉了不到1点
修改方式:
第一步;在models/yolo.py添加nn.ConvTranspose2d
第二步;models/yolo.py添加如下代码

elif m is nn.ConvTranspose2d:
if len(args) >= 7:
args[6] = make_divisible(args[6] * gw, 8)
第三步;修改配置文件,以yolov5s.yaml为例
# YOLOv5 by Ultralytics, GPL-3.0 license
# Parameters
nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple
anchors:
- [10,13, 16,30, 33,23] # P3/8
- [30,61, 62,45, 59,119] # P4/16
- [116,90, 156,198, 373,326] # P5/32
# YOLOv5 v6.0 backbone
backbone:
# [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 3, C3, [128]],
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 6, C3, [256]],
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 9, C3, [512]],
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
]
# YOLOv5 v6.0 head
head:
[[-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.ConvTranspose2d, [512, 4, 2, 1, 0, 512]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.ConvTranspose2d, [256, 4, 2, 1, 0, 256]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
]
出现下面这样子就是运行成功啦
边栏推荐
- CyCa children's physical etiquette Yueqing City training results assessment successfully concluded
- Huipay international permet au commerce électronique transfrontalier de devenir une plate - forme de paiement transfrontalière conforme!
- Reasons for Meiye to choose membership system
- The problem of automatic page refresh after the flyer WebView pops up the soft keyboard
- Android database security: after the user exits, the transaction rollback log still stores relevant data information
- Can two Mitsubishi PLC adopt bcnettcp protocol to realize wireless communication of network interface?
- Jetpack compose layout (III) - custom layout
- Cocopod error failed: undefined method `map 'for nil:nilclass
- Etcd教程 — 第四章 Etcd集群安全配置
- ‘Flutter/Flutter. h‘ file not found
猜你喜欢

Learning notes of rxjs takeuntil operator

Pytorch_ Geometric (pyg) uses dataloader to report an error runtimeerror: sizes of tenants must match except in dimension 0

How to develop wechat applet? How to open a wechat store

Free applet making tool, how to make wechat applet

How much does a small program cost? How much does a small program cost? It's clear at a glance

Remove the mosaic, there's a way, attached with the running tutorial

Solution to the problem of repeated startup of esp8266

Shardingsphere proxy 4.1 sub database and sub table

Kotlin advanced generic

Jetpack compose layout (IV) - constraintlayout
随机推荐
Notes on writing questions in C language -- monkeys eat peaches
ShardingSphere-Proxy 5.0 分库分表(一)
Kotlin advanced - class
How to make a self-made installer and package the program to generate an installer
BUG-00x bug description + resolve ways
[MySQL learning notes 20] MySQL architecture
Redis (I) principle and basic use
WPF Prism框架
Fluent: target support file /pods runner / pods runner frameworks Sh: permission denied - stack overflow
依赖属性、依赖附加属性以及类型转换
How do wechat applets make their own programs? How to make small programs on wechat?
Puzzle (019.2) hexagonal lock
Test Development Engineer
How do wechat sell small commodity programs do? How to open wechat apps to sell things?
js工具函数,自己封装一个节流函数
Flutter Gaode map privacy compliance error
manhattan_ Slam environment configuration
How do dating applets make millions a year? What is the profit model?
The way that flutter makes the keyboard disappear (forwarding from the dependent window)
Learning notes of rxjs takeuntil operator