2021SC@SDUSC
先分析common.py文件,主要是封装了不同的通用模块
common.py
import logging
import math
import warnings
from copy import copy
from pathlib import Path
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
from utils.datasets import exif_transpose, letterbox
from utils.general import colorstr, increment_path, is_ascii, make_divisible, non_max_suppression, save_one_box, \
scale_coords, xyxy2xywh
from utils.plots import Annotator, colors
from utils.torch_utils import time_sync
commonpy依赖的头件.可以看到,它包含了一些matplotlib的绘制模块以及xywh转换工具
requests这个库,是yolov5提供的一个很好的技巧,可以让我们直接从http协议拉取视频流放入model中检测
卷积层
(1)标准卷积层Conv
# 为same卷积或者same池化自动扩充
# 通过卷积核的大小来计算需要的padding为多少才能把tensor补成原来的形状
def autopad(k,p=None): # kernel, padding
# pad to 'same'
# 如果p是none 则进行下一步
if p is