【Yolov5】保姆级别源码讲解之-推理部分yolo.py文件

  • 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.模型之外的处理

  • 模型之外的处理
    在这里插入图片描述
  • 执行成功之后如图所示
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/h609232722/article/details/129238590