yolo.py文件讲解
- 1.参数部分
- 2.创建模型
- 2.1 第一部分 加载配置文件YOLOv5 detection model
- 2.2 第二部分 是通过加载的配置文件进行网络搭建,每一层Define model
- 2.3 第三部分 对网络的步长进行了处理 Build strides, anchors
- 2.4 第四部分对网络进行初始化 Init weights, biases
- 2.5 yolov的5s、5m、5n、5l、5x的区别
- 3.模型之外的处理
- yolo分为三部分,主要是为了搭建模型使用,为了方便大家更好的理解yolov5框架
1.参数部分
- yolov5s模型的流程,传入图片->Backbone结构->Head结构->检测框
– cfg配置参数,默认是yolov5s.yaml文件,如图所示为每一层到每一层的传输关系。
- [from, number, module, args]每一层都有4个数字
- from来源
- number数量,需要考虑
- module 模型
- args 传入层所需要的
- 如图就是具体的yolov5的具体网络架构
2.创建模型
- 创建模型
- 详细代码执行
2.1 第一部分 加载配置文件YOLOv5 detection model
- 将加载到的yaml文件以字典的形式进行保存
- 默认v5s不传递nc和anchors
2.2 第二部分 是通过加载的配置文件进行网络搭建,每一层Define model
2.3 第三部分 对网络的步长进行了处理 Build strides, anchors
2.4 第四部分对网络进行初始化 Init weights, biases
2.5 yolov的5s、5m、5n、5l、5x的区别
- 可以看出这一部分是不一样的,这个数字越大计算的数据就越大,模型也就越耗时。
depth_multiple: 0.67 # model depth multiple
width_multiple: 0.75 # layer channel multiple
3.模型之外的处理
- 模型之外的处理
- 执行成功之后如图所示