YOLOv5第Y5周:yolo.py文件解读

本周任务:将YOLOv5s网络模型中的C3模块按照下图方式修改形成C2模块,并将C2模块插入第2层与第3层之间,且跑通YOLOv5s。

一、导入所需包

import argparse
import contextlib
import os
import platform
import sys
from copy import deepcopy
from pathlib import Path

FILE = Path(__file__).resolve()
ROOT = FILE.parents[1]  # YOLOv5 root directory
if str(ROOT) not in sys.path:
    sys.path.append(str(ROOT))  # add ROOT to PATH
if platform.system() != 'Windows':
    ROOT = Path(os.path.relpath(ROOT, Path.cwd()))  # relative

from models.common import *  # noqa
from models.experimental import *  # noqa
from utils.autoanchor import check_anchor_order
from utils.general import LOGGER, check_version, check_yaml, make_divisible, print_args
from utils.plots import feature_visualization
from utils.torch_utils import (fuse_conv_and_bn, initialize_weights, model_info, profile, scale_img, select_device,
                               time_sync)

try:
    import thop  # for FLOPs computation
except ImportError:
    thop = None

二、parse_model函数

def parse_model(d, ch):  # model_dict, input_channels(3)
    # Parse a YOLOv5 model.yaml dictionary
    LOGGER.info(f"\n{'':>3}{'from':>18}{'n':>3}{'params':>10}  {'module':<40}{'arguments':<30}")
    anchors, nc, gd, gw, act = d['anchors'], d['nc'], d['depth_multiple'], d['width_multiple'], d.get('activation')
    if act:
        Conv.default_act = eval(act)  # redefine default activation, i.e. Conv.default_act = nn.SiLU()
        LOGGER.info(f"{colorstr('activation:')} {act}")  # print
    na = (len(anchors[0]) // 2) if isinstance(anchors, list) else anchors  # number of anchors
    no = na * (nc + 5)  # number of outputs = anchors * (classes + 5)

    layers, save, c2 = [], [], ch[-1]  # layers, savelist, ch out
    for i, (f, n, m, args) in enumerate(d['backbone'] + d['head']):  # from, number, module, args
        m = eval(m) if isinstance(m, str) else m  # eval strings
        for j, a in enumerate(args):
            with contextlib.suppress(NameError):
                args[j] = eval(a) if isinstance(a, str) else a  # eval strings

        n = n_ = max(round(n * gd), 1) if n > 1 else n  # depth gain
        if m in {
                Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv,
                BottleneckCSP, C3, C3TR, C3SPP, C3Ghost, nn.ConvTranspose2d, DWConvTranspose2d, C3x}:
            c1, c2 = ch[f], args[0]
            if c2 != no:  # if not output
                c2 = make_divisible(c2 * gw, 8)

            args = [c1, c2, *args[1:]]
            if m in {BottleneckCSP, C3, C3TR, C3Ghost, C3x}:
                args.insert(2, n)  # number of repeats
                n = 1
        elif m is nn.BatchNorm2d:
            args = [ch[f]]
        elif m is Concat:
            c2 = sum(ch[x] for x in f)
        # TODO: channel, gw, gd
        elif m in {Detect, Segment}:
            args.append([ch[x] for x in f])
            if isinstance(args[1], int):  # number of anchors
                args[1] = [list(range(args[1] * 2))] * len(f)
            if m is Segment:
                args[3] = make_divisible(args[3] * gw, 8)
        elif m is Contract:
            c2 = ch[f] * args[0] ** 2
        elif m is Expand:
            c2 = ch[f] // args[0] ** 2
        else:
            c2 = ch[f]

        m_ = nn.Sequential(*(m(*args) for _ in range(n))) if n > 1 else m(*args)  # module
        t = str(m)[8:-2].replace('__main__.', '')  # module type
        np = sum(x.numel() for x in m_.parameters())  # number params
        m_.i, m_.f, m_.type, m_.np = i, f, t, np  # attach index, 'from' index, type, number params
        LOGGER.info(f'{i:>3}{str(f):>18}{n_:>3}{np:10.0f}  {t:<40}{str(args):<30}')  # print
        save.extend(x % i for x in ([f] if isinstance(f, int) else f) if x != -1)  # append to savelist
        layers.append(m_)
        if i == 0:
            ch = []
        ch.append(c2)
    return nn.Sequential(*layers), sorted(save)

在 YOLOv5 中,parse_model 函数的主要作用是解析模型配置文件 (model.yaml) 以构造和初始化深度学习模型。这个配置文件定义了 YOLOv5 架构的各个层和参数。parse_model 函数负责将这些定义实例化为 PyTorch 模块,并建立整个神经网络。

函数的具体作用细分如下:

  1. 解析配置信息:
    根据传入的 d(模型配置词典)和 ch(输入通道数),函数首先解析锚点(anchors)、类别数 (nc)、深度和宽度乘数(gdgw),以及激活函数(act)。

  2. 初始化默认激活函数:
    如果配置文件中指定了激活函数则会设定 Conv 层的默认激活函数。

  3. 构建网络结构:
    按照配置文件中定义的 backbone(主干网络)和 head(检测头部),函数会一层层地建立神经网络。每一层可能包含不同类型的模块,比如卷积层(Conv), 残差块(Bottleneck), 深度分离卷积(DWConv), 特征融合(Concat) 以及检测层(Detect)等。

  4. 调整通道数和重复次数:
    针对各种层,根据深度乘数(gd)和宽度乘数(gw)调整通道数,以及根据设置的重复次数 (如层数或 Block 个数) 创建重复模块。

  5. 打印网络结构信息:
    在构建的过程中,函数会使用 LOGGER 打印每一层的信息,包括层次序号、从哪层汇入、重复次数(如果有的话)、模块参数数、模块类型和具体参数设定。

  6. 保存特定层的索引:
    save 列表用于记录那些需要在前向传播时保留其输出的层的索引。

  7. 整合为顺序模型:
    使用 nn.Sequential 对所有模块进行封装,将它们串联成一个完整的神经网络。

  8. 返回模型和保存层索引:
    函数最终返回初始化好的顺序模型以及一个包含应当在前向传播中保留输出的层索引的已排序列表。

其是 YOLOv5 构建网络的核心部分,它允许从配置文件直接生成对应的网络模型,并确保其结构和参数与配置文件中定义的完全一致。

三、Detect类

class Detect(nn.Module):
    # YOLOv5 Detect head for detection models
    stride = None  # strides computed during build
    dynamic = False  # force grid reconstruction
    export = False  # export mode

    def __init__(self, nc=80, anchors=(), ch=(), inplace=True):  # detection layer
        super().__init__()
        self.nc = nc  # number of classes
        self.no = nc + 5  # number of outputs per anchor
        self.nl = len(anchors)  # number of detection layers
        self.na = len(anchors[0]) // 2  # number of anchors
        self.grid = [torch.empty(0) for _ in range(self.nl)]  # init grid
        self.anchor_grid = [torch.empty(0) for _ in range(self.nl)]  # init anchor grid
        self.register_buffer('anchors', torch.tensor(anchors).float().view(self.nl, -1, 2))  # shape(nl,na,2)
        self.m = nn.ModuleList(nn.Conv2d(x, self.no * self.na, 1) for x in ch)  # output conv
        self.inplace = inplace  # use inplace ops (e.g. slice assignment)

在 YOLOv5 中,Detect 类是检测头(detection head)的实现,它负责最后一步的目标检测任务,即将特征图转换为具体的检测结果。分析其作用和构成:

  1. 初始化 (__init__ 方法):

    • nc: 类别数。对于COCO数据集,默认是80类。
    • anchors: 用于预测边界框的锚点,由 model.yaml 配置文件提供。
    • ch: 每个检测层的输入通道数。
    • inplace: 布尔值,决定操作是否原地进行,以节省内存或进行优化。
  2. 属性设置:

    • self.no: 每个锚点的输出数目,对于每个边界框预测,输出包括x, y, width, heightobjectness 分数,加上类别数,总共是 nc + 5
    • self.nl: 检测层的数目,等于锚点数组的长度。
    • self.na: 每个检测层的锚点数。
    • self.grid: 存储特征图格点的坐标,用于后续解码边界框的位置。
    • self.anchor_grid: 存储每个特征层锚点尺寸的网格。
  3. 锚点注册:
    将锚点存储到模块的缓冲区,在进行设备传输或序列化时,锚点会和模块一起移动。

  4. 模块列表构建:
    对于每个输入通道数xch中,创建一个卷积层,卷积核大小为1(1x1卷积)用于将特征图的通道数转换成每个锚点的输出数self.no * self.na,此结构存储在 self.m 中(一个 nn.ModuleList)。这些卷积层作为检测头的最后一步,将特征图转换为预测向量。

Detect 类的核心作用是将特征图(网络的中间表示)转换成实际的检测结果,这些结果包括了对每个锚点对应的边界框的位置、大小、置信度以及属于各类别的预测概率。这些输出后续会通过非极大值抑制(Non-Maximum Suppression, NMS)等后处理步骤生成最终的检测输出。

四、Model类

class DetectionModel(BaseModel):
    # YOLOv5 detection model
    def __init__(self, cfg='yolov5s.yaml', ch=3, nc=None, anchors=None):  # model, input channels, number of classes
        super().__init__()
        if isinstance(cfg, dict):
            self.yaml = cfg  # model dict
        else:  # is *.yaml
            import yaml  # for torch hub
            self.yaml_file = Path(cfg).name
            with open(cfg, encoding='ascii', errors='ignore') as f:
                self.yaml = yaml.safe_load(f)  # model dict

        # Define model
        ch = self.yaml['ch'] = self.yaml.get('ch', ch)  # input channels
        if nc and nc != self.yaml['nc']:
            LOGGER.info(f"Overriding model.yaml nc={self.yaml['nc']} with nc={nc}")
            self.yaml['nc'] = nc  # override yaml value
        if anchors:
            LOGGER.info(f'Overriding model.yaml anchors with anchors={anchors}')
            self.yaml['anchors'] = round(anchors)  # override yaml value
        self.model, self.save = parse_model(deepcopy(self.yaml), ch=[ch])  # model, savelist
        self.names = [str(i) for i in range(self.yaml['nc'])]  # default names
        self.inplace = self.yaml.get('inplace', True)

        # Build strides, anchors
        m = self.model[-1]  # Detect()
        if isinstance(m, (Detect, Segment)):
            s = 256  # 2x min stride
            m.inplace = self.inplace
            forward = lambda x: self.forward(x)[0] if isinstance(m, Segment) else self.forward(x)
            m.stride = torch.tensor([s / x.shape[-2] for x in forward(torch.zeros(1, ch, s, s))])  # forward
            check_anchor_order(m)
            m.anchors /= m.stride.view(-1, 1, 1)
            self.stride = m.stride
            self._initialize_biases()  # only run once

        # Init weights, biases
        initialize_weights(self)
        self.info()
        LOGGER.info('')

    def forward(self, x, augment=False, profile=False, visualize=False):
        if augment:
            return self._forward_augment(x)  # augmented inference, None
        return self._forward_once(x, profile, visualize)  # single-scale inference, train

    def _forward_augment(self, x):
        img_size = x.shape[-2:]  # height, width
        s = [1, 0.83, 0.67]  # scales
        f = [None, 3, None]  # flips (2-ud, 3-lr)
        y = []  # outputs
        for si, fi in zip(s, f):
            xi = scale_img(x.flip(fi) if fi else x, si, gs=int(self.stride.max()))
            yi = self._forward_once(xi)[0]  # forward
            # cv2.imwrite(f'img_{si}.jpg', 255 * xi[0].cpu().numpy().transpose((1, 2, 0))[:, :, ::-1])  # save
            yi = self._descale_pred(yi, fi, si, img_size)
            y.append(yi)
        y = self._clip_augmented(y)  # clip augmented tails
        return torch.cat(y, 1), None  # augmented inference, train

    def _descale_pred(self, p, flips, scale, img_size):
        # de-scale predictions following augmented inference (inverse operation)
        if self.inplace:
            p[..., :4] /= scale  # de-scale
            if flips == 2:
                p[..., 1] = img_size[0] - p[..., 1]  # de-flip ud
            elif flips == 3:
                p[..., 0] = img_size[1] - p[..., 0]  # de-flip lr
        else:
            x, y, wh = p[..., 0:1] / scale, p[..., 1:2] / scale, p[..., 2:4] / scale  # de-scale
            if flips == 2:
                y = img_size[0] - y  # de-flip ud
            elif flips == 3:
                x = img_size[1] - x  # de-flip lr
            p = torch.cat((x, y, wh, p[..., 4:]), -1)
        return p

    def _clip_augmented(self, y):
        # Clip YOLOv5 augmented inference tails
        nl = self.model[-1].nl  # number of detection layers (P3-P5)
        g = sum(4 ** x for x in range(nl))  # grid points
        e = 1  # exclude layer count
        i = (y[0].shape[1] // g) * sum(4 ** x for x in range(e))  # indices
        y[0] = y[0][:, :-i]  # large
        i = (y[-1].shape[1] // g) * sum(4 ** (nl - 1 - x) for x in range(e))  # indices
        y[-1] = y[-1][:, i:]  # small
        return y

    def _initialize_biases(self, cf=None):  # initialize biases into Detect(), cf is class frequency
        # https://arxiv.org/abs/1708.02002 section 3.3
        # cf = torch.bincount(torch.tensor(np.concatenate(dataset.labels, 0)[:, 0]).long(), minlength=nc) + 1.
        m = self.model[-1]  # Detect() module
        for mi, s in zip(m.m, m.stride):  # from
            b = mi.bias.view(m.na, -1)  # conv.bias(255) to (3,85)
            b.data[:, 4] += math.log(8 / (640 / s) ** 2)  # obj (8 objects per 640 image)
            b.data[:, 5:5 + m.nc] += math.log(0.6 / (m.nc - 0.99999)) if cf is None else torch.log(cf / cf.sum())  # cls
            mi.bias = torch.nn.Parameter(b.view(-1), requires_grad=True)


Model = DetectionModel  # retain YOLOv5 'Model' class for backwards compatibility

在 YOLOv5 中,DetectionModel 类封装了整个目标检测模型的创建和前向传播逻辑。这个类继承自 BaseModel,它使用 YOLOv5 的模型配置(通常是一个 YAML 文件)来构建模型。 DetectionModel 类的主要方法及其作用:

  1. 初始化 (__init__):

    • cfg: 可以是包含模型配置的字典或路径指向一个 YAML 文件。根据这个配置来设置模型的结构。
    • ch: 输入通道数,通常为3(RGB图像)。
    • nc: 类别数,如果提供,则会覆盖 YAML 配置文件中的设置。
    • anchors: 锚点设置,如果提供,则会覆盖 YAML 配置文件中的设置。

    在初始化过程中,parse_model 函数被用来构造神经网络,依据 YAML 文件中定义的层次结构。

  2. 前向传播 (forward):

    • 输入张量 x 通过模型进行前向传播,可以选择是否进行数据增强(augment)、性能分析(profile)和可视化(visualize)。
  3. 增强前向传播 (_forward_augment):

    • 这个方法执行数据增强版的前向传播,对输入图像应用不同的尺度和翻转,然后将结果反算回原始图像尺寸。
  4. 反算预测 (_descale_pred):

    • 对经过增强处理的预测结果进行反算,以使它们与原始图像的尺寸一致。
  5. 剪辑增强输出 (_clip_augmented):

    • 对增强后的预测结果进行剪辑,去除可能不需要的部分。
  6. 初始化偏置 (_initialize_biases):

    • 对检测头的偏置(biases)进行初始化,以改善模型的收敛速度和性能。

ModelDetectionModel 类的别名,这样做是为了保持向后兼容性。总而言之,DetectionModel 类负责加载模型配置,初始化模型权重,并提供前向传播功能,这些都是在进行目标检测时所需的关键步骤。

五、修改

1.在common.py文件中插入C2模块

class C2(nn.Module):
    # CSP Bottleneck with 3 convolutions
    def __init__(self, c1, c2, n=1, shortcut=True, g=1, e=0.5):  # ch_in, ch_out, number, shortcut, groups, expansion
        super().__init__()
        c_ = int(c2 * e)  # hidden channels
        self.cv1 = Conv(c1, c_, 1, 1)
        self.cv2 = Conv(c1, c_, 1, 1)
        self.cv3 = Conv(2 * c_, c2, 1)  # optional act=FReLU(c2)
        self.m = nn.Sequential(*(Bottleneck(c_, c_, shortcut, g, e=1.0) for _ in range(n)))
 
    def forward(self, x):
        return self.cv3(torch.cat((self.m(self.cv1(x)), self.cv2(x)), 1))

在这里插入图片描述

2.修改yolo.py文件

def parse_model(d, ch):  # model_dict, input_channels(3)
    # Parse a YOLOv5 model.yaml dictionary
    LOGGER.info(f"\n{'':>3}{'from':>18}{'n':>3}{'params':>10}  {'module':<40}{'arguments':<30}")
    anchors, nc, gd, gw, act = d['anchors'], d['nc'], d['depth_multiple'], d['width_multiple'], d.get('activation')
    if act:
        Conv.default_act = eval(act)  # redefine default activation, i.e. Conv.default_act = nn.SiLU()
        LOGGER.info(f"{colorstr('activation:')} {act}")  # print
    na = (len(anchors[0]) // 2) if isinstance(anchors, list) else anchors  # number of anchors
    no = na * (nc + 5)  # number of outputs = anchors * (classes + 5)

    layers, save, c2 = [], [], ch[-1]  # layers, savelist, ch out
    for i, (f, n, m, args) in enumerate(d['backbone'] + d['head']):  # from, number, module, args
        m = eval(m) if isinstance(m, str) else m  # eval strings
        for j, a in enumerate(args):
            with contextlib.suppress(NameError):
                args[j] = eval(a) if isinstance(a, str) else a  # eval strings

        n = n_ = max(round(n * gd), 1) if n > 1 else n  # depth gain
        if m in {
                Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv,
                BottleneckCSP, C2, C3, C3TR, C3SPP, C3Ghost, nn.ConvTranspose2d, DWConvTranspose2d, C3x}:
            c1, c2 = ch[f], args[0]
            if c2 != no:  # if not output
                c2 = make_divisible(c2 * gw, 8)

            args = [c1, c2, *args[1:]]
            if m in {BottleneckCSP, C2, C3, C3TR, C3Ghost, C3x}:
                args.insert(2, n)  # number of repeats
                n = 1
        elif m is nn.BatchNorm2d:
            args = [ch[f]]
        elif m is Concat:
            c2 = sum(ch[x] for x in f)
        # TODO: channel, gw, gd
        elif m in {Detect, Segment}:
            args.append([ch[x] for x in f])
            if isinstance(args[1], int):  # number of anchors
                args[1] = [list(range(args[1] * 2))] * len(f)
            if m is Segment:
                args[3] = make_divisible(args[3] * gw, 8)
        elif m is Contract:
            c2 = ch[f] * args[0] ** 2
        elif m is Expand:
            c2 = ch[f] // args[0] ** 2
        else:
            c2 = ch[f]

        m_ = nn.Sequential(*(m(*args) for _ in range(n))) if n > 1 else m(*args)  # module
        t = str(m)[8:-2].replace('__main__.', '')  # module type
        np = sum(x.numel() for x in m_.parameters())  # number params
        m_.i, m_.f, m_.type, m_.np = i, f, t, np  # attach index, 'from' index, type, number params
        LOGGER.info(f'{i:>3}{str(f):>18}{n_:>3}{np:10.0f}  {t:<40}{str(args):<30}')  # print
        save.extend(x % i for x in ([f] if isinstance(f, int) else f) if x != -1)  # append to savelist
        layers.append(m_)
        if i == 0:
            ch = []
        ch.append(c2)
    return nn.Sequential(*layers), sorted(save)

事实上就是将C2模块也拼凑起来。

在这里插入图片描述
在这里插入图片描述

3.yolov5s.yaml文件中加入C2层

在这里插入图片描述

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, 3, C2, [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.Upsample, [None, 2, 'nearest']],
   [[-1, 6], 1, Concat, [1]],  # cat backbone P4
   [-1, 3, C3, [512, False]],  # 13

   [-1, 1, Conv, [256, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-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)
  ]

4.运行

python train.py --img 900 --batch 2 --epoch 100 --data E:/BaiduNetdiskDownload/yolov5-master/data/ab.yaml --cfg E:/BaiduNetdiskDownload/yolov5-master/models/yolov5s.yaml --weights yolov5s.pt

5.结果

E:\BaiduNetdiskDownload\yolov5-master>python train.py --img 900 --batch 2 --epoch 100 --data E:/BaiduNetdiskDownload/yolov5-master/data/ab.yaml --cfg E:/BaiduNetdiskDownload/yolov5-master/models/yolov5s.yaml --weights yolov5s.pt
train: weights=yolov5s.pt, cfg=E:/BaiduNetdiskDownload/yolov5-master/models/yolov5s.yaml, data=E:/BaiduNetdiskDownload/yolov5-master/data/ab.yaml, hyp=data\hyps\hyp.scratch-low.yaml, epochs=100, batch_size=2, imgsz=900, rect=False, resume=False, nosave=False, noval=False, noautoanchor=False, noplots=False, evolve=None, bucket=, cache=None, image_weights=False, device=, multi_scale=False, single_cls=False, optimizer=SGD, sync_bn=False, workers=8, project=runs\train, name=exp, exist_ok=False, quad=False, cos_lr=False, label_smoothing=0.0, patience=100, freeze=[0], save_period=-1, seed=0, local_rank=-1, entity=None, upload_dataset=False, bbox_interval=-1, artifact_alias=latest
github: skipping check (not a git repository), for updates see https://github.com/ultralytics/yolov5
YOLOv5  2023-11-23 Python-3.11.4 torch-2.0.1+cpu CPU

hyperparameters: lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=0.05, cls=0.5, cls_pw=1.0, obj=1.0, obj_pw=1.0, iou_t=0.2, anchor_t=4.0, fl_gamma=0.0, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0
Comet: run 'pip install comet_ml' to automatically track and visualize YOLOv5  runs in Comet
TensorBoard: Start with 'tensorboard --logdir runs\train', view at http://localhost:6006/
Overriding model.yaml nc=80 with nc=4

                 from  n    params  module                                  arguments
  0                -1  1      3520  models.common.Conv                      [3, 32, 6, 2, 2]
  1                -1  1     18560  models.common.Conv                      [32, 64, 3, 2]
  2                -1  1     18816  models.common.C3                        [64, 64, 1]
  3                -1  1     18816  models.common.C2                        [64, 64, 1]
  4                -1  1     73984  models.common.Conv                      [64, 128, 3, 2]
  5                -1  2    115712  models.common.C3                        [128, 128, 2]
  6                -1  1    295424  models.common.Conv                      [128, 256, 3, 2]
  7                -1  3    625152  models.common.C3                        [256, 256, 3]
  8                -1  1   1180672  models.common.Conv                      [256, 512, 3, 2]
  9                -1  1   1182720  models.common.C3                        [512, 512, 1]
 10                -1  1    656896  models.common.SPPF                      [512, 512, 5]
 11                -1  1    131584  models.common.Conv                      [512, 256, 1, 1]
 12                -1  1         0  torch.nn.modules.upsampling.Upsample    [None, 2, 'nearest']
 13           [-1, 6]  1         0  models.common.Concat                    [1]
 14                -1  1    361984  models.common.C3                        [512, 256, 1, False]
 15                -1  1     33024  models.common.Conv                      [256, 128, 1, 1]
 16                -1  1         0  torch.nn.modules.upsampling.Upsample    [None, 2, 'nearest']
 17           [-1, 4]  1         0  models.common.Concat                    [1]
 18                -1  1     90880  models.common.C3                        [256, 128, 1, False]
 19                -1  1    147712  models.common.Conv                      [128, 128, 3, 2]
 20          [-1, 14]  1         0  models.common.Concat                    [1]
 21                -1  1    329216  models.common.C3                        [384, 256, 1, False]
 22                -1  1    590336  models.common.Conv                      [256, 256, 3, 2]
 23          [-1, 10]  1         0  models.common.Concat                    [1]
 24                -1  1   1313792  models.common.C3                        [768, 512, 1, False]
 25      [17, 20, 23]  1     38097  models.yolo.Detect                      [4, [[10, 13, 16, 30, 33, 23], [30, 61, 62, 45, 59, 119], [116, 90, 156, 198, 373, 326]], [256, 384, 768]]
YOLOv5s summary: 232 layers, 7226897 parameters, 7226897 gradients, 17.2 GFLOPs

Transferred 49/379 items from yolov5s.pt
WARNING  --img-size 900 must be multiple of max stride 32, updating to 928
optimizer: SGD(lr=0.01) with parameter groups 62 weight(decay=0.0), 65 weight(decay=0.0005), 65 bias
train: Scanning E:\BaiduNetdiskDownload\yolov5-master\paper_data\train.cache... 1 images, 0 backgrounds, 159 corrupt: 1
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit1.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit1.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit10.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit10.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit100.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit100.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit101.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit101.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit102.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit102.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit103.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit103.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit104.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit104.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit106.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit106.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit107.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit107.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit108.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit108.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit11.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit11.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit111.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit111.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit112.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit112.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit113.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit113.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit115.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit115.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit116.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit116.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit117.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit117.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit118.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit118.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit119.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit119.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit120.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit120.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit121.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit121.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit122.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit122.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit124.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit124.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit125.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit125.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit126.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit126.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit128.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit128.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit129.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit129.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit130.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit130.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit132.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit132.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit134.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit134.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit135.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit135.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit136.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit136.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit137.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit137.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit139.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit139.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit14.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit14.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit140.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit140.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit141.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit141.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit143.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit143.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit144.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit144.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit145.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit145.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit146.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit146.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit148.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit148.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit149.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit149.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit15.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit15.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit150.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit150.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit151.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit151.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit152.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit152.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit153.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit153.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit154.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit154.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit156.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit156.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit157.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit157.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit158.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit158.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit159.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit159.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit16.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit16.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit160.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit160.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit161.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit161.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit162.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit162.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit163.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit163.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit164.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit164.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit165.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit165.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit166.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit166.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit167.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit167.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit168.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit168.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit169.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit169.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit17.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit17.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit170.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit170.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit172.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit172.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit173.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit173.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit175.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit175.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit176.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit176.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit177.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit177.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit178.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit178.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit179.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit179.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit18.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit18.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit180.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit180.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit181.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit181.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit183.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit183.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit184.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit184.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit185.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit185.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit186.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit186.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit187.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit187.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit188.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit188.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit19.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit19.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit196.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit196.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit197.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit197.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit199.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit199.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit2.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit2.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit20.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit20.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit200.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit200.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit201.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit201.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit202.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit202.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit208.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit208.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit209.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit209.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit211.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit211.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit22.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit22.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit24.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit24.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit25.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit25.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit26.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit26.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit28.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit28.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit29.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit29.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit3.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit3.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit30.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit30.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit31.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit31.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit33.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit33.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit34.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit34.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit35.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit35.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit36.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit36.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit38.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit38.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit4.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit4.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit40.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit40.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit41.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit41.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit42.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit42.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit43.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit43.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit45.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit45.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit47.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit47.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit48.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit48.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit5.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit5.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit51.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit51.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit52.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit52.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit53.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit53.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit54.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit54.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit55.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit55.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit56.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit56.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit58.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit58.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit59.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit59.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit6.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit6.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit61.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit61.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit62.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit62.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit63.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit63.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit64.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit64.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit65.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit65.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit67.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit67.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit68.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit68.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit69.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit69.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit7.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit7.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit70.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit70.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit72.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit72.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit73.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit73.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit75.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit75.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit76.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit76.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit77.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit77.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit78.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit78.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit79.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit79.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit80.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit80.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit81.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit81.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit82.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit82.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit83.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit83.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit85.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit85.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit86.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit86.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit87.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit87.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit88.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit88.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit89.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit89.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit9.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit9.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit90.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit90.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit91.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit91.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit94.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit94.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit95.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit95.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit97.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit97.png'
train: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit98.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit98.png'
val: Scanning E:\BaiduNetdiskDownload\yolov5-master\paper_data\val.cache... 1 images, 0 backgrounds, 19 corrupt: 100%|█
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit12.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit12.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit123.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit123.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit127.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit127.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit131.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit131.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit142.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit142.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit147.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit147.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit171.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit171.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit182.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit182.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit210.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit210.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit23.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit23.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit37.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit37.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit44.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit44.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit46.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit46.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit50.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit50.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit60.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit60.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit71.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit71.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit74.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit74.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit8.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit8.png'
val: WARNING   E:\BaiduNetdiskDownload\yolov5-master\paper_data\images\fruit93.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' E:\\BaiduNetdiskDownload\\yolov5-master\\paper_data\\images\\fruit93.png'

AutoAnchor: 4.33 anchors/target, 1.000 Best Possible Recall (BPR). Current anchors are a good fit to dataset
Plotting labels to runs\train\exp11\labels.jpg...
Image sizes 928 train, 928 val
Using 0 dataloader workers
Logging results to runs\train\exp11
Starting training for 100 epochs...

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
       0/99         0G     0.1123    0.06848    0.04815          7        928: 100%|██████████| 1/1 [00:01<00:00,  1.08
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3    0.00439      0.333     0.0474     0.0121

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
       1/99         0G     0.1105    0.06846    0.04628          6        928: 100%|██████████| 1/1 [00:00<00:00,  1.02
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3     0.0119      0.333     0.0302     0.0104

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
       2/99         0G     0.1139    0.05816    0.04684          6        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3     0.0119      0.333     0.0302     0.0104

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
       3/99         0G    0.07328    0.05078    0.03088          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3     0.0128      0.333     0.0175    0.00873

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
       4/99         0G    0.06693    0.05186    0.03044          3        928: 100%|██████████| 1/1 [00:00<00:00,  1.08
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3     0.0128      0.333     0.0175    0.00873

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
       5/99         0G     0.1102    0.09702    0.04647         12        928: 100%|██████████| 1/1 [00:00<00:00,  1.08
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3     0.0128      0.333     0.0175    0.00873

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
       6/99         0G     0.1147    0.07053    0.04376          6        928: 100%|██████████| 1/1 [00:00<00:00,  1.03
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3     0.0139      0.333     0.0144    0.00433

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
       7/99         0G    0.06716    0.05544    0.02962          4        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3     0.0139      0.333     0.0144    0.00433

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
       8/99         0G     0.1161    0.05993    0.04253          5        928: 100%|██████████| 1/1 [00:00<00:00,  1.08
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3     0.0139      0.333     0.0144    0.00433

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
       9/99         0G     0.1187    0.05657     0.0432          4        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3     0.0139      0.333     0.0144    0.00433

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      10/99         0G     0.1163    0.09305    0.04868         12        928: 100%|██████████| 1/1 [00:00<00:00,  1.04
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      11/99         0G    0.07575    0.04969    0.03171          3        928: 100%|██████████| 1/1 [00:00<00:00,  1.08
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      12/99         0G     0.1092    0.09129      0.045         10        928: 100%|██████████| 1/1 [00:00<00:00,  1.06
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      13/99         0G     0.1003    0.05476    0.04605          3        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      14/99         0G    0.07006    0.05166    0.03166          3        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      15/99         0G     0.1156    0.05315    0.04495          3        928: 100%|██████████| 1/1 [00:00<00:00,  1.05
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      16/99         0G     0.1143     0.0559      0.045          4        928: 100%|██████████| 1/1 [00:00<00:00,  1.02
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      17/99         0G    0.08845     0.0449    0.02645          2        928: 100%|██████████| 1/1 [00:00<00:00,  1.08
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      18/99         0G     0.1189    0.05909    0.04975          5        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      19/99         0G     0.1113    0.05739    0.04547          4        928: 100%|██████████| 1/1 [00:00<00:00,  1.08
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      20/99         0G      0.117    0.07437    0.04842         10        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      21/99         0G      0.109    0.06155     0.0505          5        928: 100%|██████████| 1/1 [00:00<00:00,  1.06
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      22/99         0G     0.1073     0.1035    0.04515         12        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      23/99         0G     0.1257     0.0527    0.04264          4        928: 100%|██████████| 1/1 [00:00<00:00,  1.06
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      24/99         0G     0.1036     0.0745    0.04745          7        928: 100%|██████████| 1/1 [00:00<00:00,  1.03
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      25/99         0G     0.1112     0.1054    0.04881         12        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      26/99         0G     0.1053    0.08021    0.04656          8        928: 100%|██████████| 1/1 [00:00<00:00,  1.06
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      27/99         0G     0.1208    0.05651    0.04577          4        928: 100%|██████████| 1/1 [00:00<00:00,  1.05
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      28/99         0G    0.07633     0.0537    0.03023          4        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      29/99         0G     0.1162    0.05969    0.04597          5        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      30/99         0G     0.1117    0.07415    0.04961          8        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      31/99         0G     0.1132    0.06359    0.04704          5        928: 100%|██████████| 1/1 [00:00<00:00,  1.06
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      32/99         0G    0.08006    0.05026    0.02591          3        928: 100%|██████████| 1/1 [00:00<00:00,  1.08
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      33/99         0G     0.1117      0.104    0.04704         12        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      34/99         0G     0.1135    0.06241    0.04401          5        928: 100%|██████████| 1/1 [00:00<00:00,  1.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      35/99         0G     0.1117    0.07476    0.04524          7        928: 100%|██████████| 1/1 [00:00<00:00,  1.06
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      36/99         0G     0.1134    0.09759    0.04479         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.00
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      37/99         0G     0.1184    0.06637    0.04515          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.04
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      38/99         0G    0.08484    0.04526    0.02921          2        928: 100%|██████████| 1/1 [00:01<00:00,  1.01
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      39/99         0G    0.09749     0.0813    0.04582          8        928: 100%|██████████| 1/1 [00:01<00:00,  1.05
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      40/99         0G     0.1117    0.07415    0.04601          7        928: 100%|██████████| 1/1 [00:04<00:00,  4.10
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      41/99         0G     0.1117    0.07245    0.04489          7        928: 100%|██████████| 1/1 [00:04<00:00,  4.19
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      42/99         0G     0.1094    0.05986    0.04839          4        928: 100%|██████████| 1/1 [00:04<00:00,  4.32
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      43/99         0G     0.1097     0.0697    0.04865          7        928: 100%|██████████| 1/1 [00:03<00:00,  3.82
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      44/99         0G     0.1108    0.09187    0.04328         10        928: 100%|██████████| 1/1 [00:04<00:00,  4.26
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      45/99         0G     0.1126    0.05993      0.047          5        928: 100%|██████████| 1/1 [00:04<00:00,  4.60
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      46/99         0G     0.0688    0.05024    0.03075          3        928: 100%|██████████| 1/1 [00:04<00:00,  4.22
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      47/99         0G      0.112    0.09688    0.04424         12        928: 100%|██████████| 1/1 [00:04<00:00,  4.24
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      48/99         0G     0.1166    0.06569    0.04565          6        928: 100%|██████████| 1/1 [00:04<00:00,  4.64
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      49/99         0G     0.1118    0.05801    0.04417          5        928: 100%|██████████| 1/1 [00:04<00:00,  4.42
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      50/99         0G     0.1097     0.1048    0.04665         12        928: 100%|██████████| 1/1 [00:04<00:00,  4.99
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      51/99         0G     0.1218    0.06085    0.04525          5        928: 100%|██████████| 1/1 [00:04<00:00,  4.76
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      52/99         0G     0.1056    0.08698    0.04532          9        928: 100%|██████████| 1/1 [00:04<00:00,  4.74
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      53/99         0G    0.06761    0.05242    0.03217          3        928: 100%|██████████| 1/1 [00:05<00:00,  5.05
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      54/99         0G     0.1044     0.1022     0.0441         12        928: 100%|██████████| 1/1 [00:04<00:00,  4.63
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      55/99         0G     0.1269    0.05652    0.04289          5        928: 100%|██████████| 1/1 [00:04<00:00,  4.74
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      56/99         0G     0.1112     0.0772    0.04683          8        928: 100%|██████████| 1/1 [00:05<00:00,  5.09
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      57/99         0G     0.1144    0.05499    0.04611          4        928: 100%|██████████| 1/1 [00:04<00:00,  4.62
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      58/99         0G    0.07043     0.0666     0.0297          6        928: 100%|██████████| 1/1 [00:04<00:00,  4.62
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      59/99         0G     0.1092    0.09867    0.04592         12        928: 100%|██████████| 1/1 [00:04<00:00,  4.94
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      60/99         0G       0.12    0.05285    0.04611          4        928: 100%|██████████| 1/1 [00:04<00:00,  4.69
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      61/99         0G     0.0728    0.05391    0.02953          4        928: 100%|██████████| 1/1 [00:04<00:00,  4.70
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      62/99         0G     0.1164    0.05441    0.04357          4        928: 100%|██████████| 1/1 [00:04<00:00,  4.57
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      63/99         0G     0.1123     0.1039     0.0476         12        928: 100%|██████████| 1/1 [00:04<00:00,  4.64
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      64/99         0G     0.1089      0.064    0.04559          5        928: 100%|██████████| 1/1 [00:04<00:00,  4.38
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      65/99         0G     0.1152    0.07665    0.04802          8        928: 100%|██████████| 1/1 [00:04<00:00,  4.59
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      66/99         0G     0.1186    0.06205     0.0432          5        928: 100%|██████████| 1/1 [00:04<00:00,  4.56
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      67/99         0G      0.114    0.06644    0.04486          6        928: 100%|██████████| 1/1 [00:05<00:00,  5.13
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      68/99         0G     0.1118    0.05814    0.04571          5        928: 100%|██████████| 1/1 [00:04<00:00,  4.70
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      69/99         0G      0.106     0.0762    0.04522          8        928: 100%|██████████| 1/1 [00:04<00:00,  4.98
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      70/99         0G     0.1068    0.06769      0.048          7        928: 100%|██████████| 1/1 [00:04<00:00,  4.93
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      71/99         0G       0.11     0.1035    0.04768         12        928: 100%|██████████| 1/1 [00:05<00:00,  5.34
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      72/99         0G     0.1071    0.05783    0.04588          4        928: 100%|██████████| 1/1 [00:05<00:00,  5.00
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      73/99         0G      0.107    0.06332    0.04598          6        928: 100%|██████████| 1/1 [00:05<00:00,  5.52
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      74/99         0G     0.1127    0.09514    0.04832         12        928: 100%|██████████| 1/1 [00:05<00:00,  5.30
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      75/99         0G     0.0747    0.05085    0.03363          3        928: 100%|██████████| 1/1 [00:04<00:00,  4.58
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      76/99         0G    0.07295    0.05077    0.03028          3        928: 100%|██████████| 1/1 [00:04<00:00,  4.07
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      77/99         0G     0.1221     0.0522     0.0502          3        928: 100%|██████████| 1/1 [00:03<00:00,  3.79
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      78/99         0G     0.1159    0.05984    0.04441          5        928: 100%|██████████| 1/1 [00:03<00:00,  3.90
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      79/99         0G    0.07651    0.05252    0.03171          4        928: 100%|██████████| 1/1 [00:03<00:00,  3.83
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      80/99         0G    0.07562    0.05453    0.03032          4        928: 100%|██████████| 1/1 [00:03<00:00,  3.53
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      81/99         0G    0.06719    0.05309    0.02946          3        928: 100%|██████████| 1/1 [00:03<00:00,  3.81
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      82/99         0G     0.1077    0.06681    0.04693          6        928: 100%|██████████| 1/1 [00:03<00:00,  3.76
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      83/99         0G     0.1112    0.07135    0.04413          7        928: 100%|██████████| 1/1 [00:03<00:00,  3.49
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      84/99         0G     0.1116    0.09397    0.04412         12        928: 100%|██████████| 1/1 [00:04<00:00,  4.23
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      85/99         0G     0.1116    0.06021    0.04631          5        928: 100%|██████████| 1/1 [00:00<00:00,  1.01
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      86/99         0G     0.1096     0.1033    0.04633         12        928: 100%|██████████| 1/1 [00:00<00:00,  1.02
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      87/99         0G     0.1143    0.05942    0.04395          5        928: 100%|██████████| 1/1 [00:00<00:00,  1.02
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      88/99         0G     0.1161    0.05182    0.04676          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.00
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      89/99         0G     0.1106    0.05529    0.04364          4        928: 100%|██████████| 1/1 [00:00<00:00,  1.02
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      90/99         0G     0.1239    0.05427    0.04808          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.03
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      91/99         0G     0.1104    0.06561    0.04493          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.00
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      92/99         0G     0.1138    0.08528    0.04445         10        928: 100%|██████████| 1/1 [00:01<00:00,  1.00
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      93/99         0G     0.1125    0.07019    0.04628          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.00
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      94/99         0G     0.1115    0.05722    0.04421          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.01
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      95/99         0G     0.1124     0.1027    0.04744         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.00
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      96/99         0G      0.117    0.05602    0.04682          5        928: 100%|██████████| 1/1 [00:00<00:00,  1.01
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      97/99         0G      0.124     0.0617    0.04387          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.02
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      98/99         0G     0.1126     0.1008    0.04399         12        928: 100%|██████████| 1/1 [00:00<00:00,  1.00
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      99/99         0G    0.06936    0.05516    0.03017          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.00
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3          0          0          0          0

100 epochs completed in 0.097 hours.
Optimizer stripped from runs\train\exp11\weights\last.pt, 15.0MB
Optimizer stripped from runs\train\exp11\weights\best.pt, 15.0MB

Validating runs\train\exp11\weights\best.pt...
Fusing layers...
YOLOv5s summary: 170 layers, 7217201 parameters, 0 gradients, 17.0 GFLOPs
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:00<0
                   all          1          3    0.00439      0.333     0.0255     0.0128
                banana          1          1          0          0          0          0
           snake fruit          1          1          0          0          0          0
             pineapple          1          1     0.0132          1     0.0765     0.0383
Results saved to runs\train\exp11

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值