yolov5的common.py文件的解读

>- **🍨 本文为[🔗365天深度学习训练营(https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客**
>- **🍖 原作者:[K同学啊](https://mtyjkh.blog.youkuaiyun.com/)** 

        今天我们就依据yolov5的yaml文件来解析common.py。

        首先看看需要导入那些包和基本配置:

import ast
import contextlib
import json
import math
import platform
import warnings
import zipfile
from collections import OrderedDict, namedtuple
from copy import copy
from pathlib import Path
from urllib.parse import urlparse

import cv2
import numpy as np
import pandas as pd
import requests
import torch
import torch.nn as nn
from PIL import Image
from torch.cuda import amp

        从yaml文件我们可以找到经常出现的模块:Conv,C3,SPP,Concat。接下来对这些比较重要的模块进行介绍。

模块介绍

1.1 autopad

def autopad(k, p=None, d=1):
    """
    用于Conv函数和Classify函数中
    根据扩张系数d对卷积核的大小进行调整,再根据卷积核大小k自动计算卷积核padding数(0填充) 
    :params k: 卷积核的大小
    :return p: 自动计算的需要pad值(默认为0填充)
    :params d: 卷积核的扩张系数
    """
    if d > 1:
        k = d * (k - 1) + 1 if isinstance(k, int) else [d * (x - 1) + 1 for x in k]  # actual kernel-size
    if p is None:
        p = k // 2 if isinstance(k, int) else [x // 2 for x in k]  # auto-pad
    return p

        这个模块可以根据输入的卷积核大小来计算pad值,主要再Conv和Classify模块中会使用到。

1.2 Conv

&nbs

yolov5common.py文件位于D:\yolov5-master\yolov5-master\models\common.py。这个文件是实现yolo算法各个模块的地方。由于yolov5版本的问题,官网上会实时更新,所以不同的模块会出现不同的版本。\[1\]在common.py文件中,可能会包含一些与网络输出解析和处理相关的代码。例如,可能会有一个名为DetectMultiBackend的后处理类,用于对网络输出进行解析和处理。这个类会解析约束设备框、类别和置信度三个结果张量,得到最终的检测结果。\[2\]此外,common.py文件中还可能包含一些用于合并前后两个特征图的代码,例如Concat类,它可以按照某个维度进行合并。\[3\] #### 引用[.reference_title] - *1* *2* [Yolov5common.py文件解读](https://blog.csdn.net/qq_62904883/article/details/130145716)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [深度学习Week15-common.py文件解读YOLOv5)](https://blog.csdn.net/m0_62237233/article/details/128998213)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值