YOLOv5 配置C2模块构造新模型

本文为[365天深度学习训练营学习记录博客
参考文章:365天深度学习训练营
原作者:[K同学啊]
文章来源:[K同学的学习圈子](https://www.yuque.com/mingtian-fkmxf/zxwb45)

目标:在YOLOv5s网络模型中,修改common.py、yolo.py、yolov5s.yaml文件,将C2模块插入第2层与第3层之间,且跑通YOLOv5s。

操作步骤:

1.在common.py文件中插入C2模块
YOLOv5 配置C2模块构造新模型_第1张图片

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, 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 配置C2模块构造新模型_第2张图片

修改后:

YOLOv5 配置C2模块构造新模型_第3张图片

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

YOLOv5 配置C2模块构造新模型_第4张图片

4.命令窗运行

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

运行结果: 

D:\yolov5-master>python train.py --img 900 --batch 2 --epoch 100 --data D:/yolov5-master/data/ab.yaml --cfg D:/yolov5-master/models/yolov5s.yaml --weights yolov5s.pt
train: weights=yolov5s.pt, cfg=D:/yolov5-master/models/yolov5s.yaml, data=D:/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-10-15 Python-3.10.7 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
Traceback (most recent call last):
  File "D:\yolov5-master\train.py", line 647, in 
    main(opt)
  File "D:\yolov5-master\train.py", line 536, in main
    train(opt.hyp, opt, device, callbacks)
  File "D:\yolov5-master\train.py", line 130, in train
    model = Model(cfg or ckpt['model'].yaml, ch=3, nc=nc, anchors=hyp.get('anchors')).to(device)  # create
  File "D:\yolov5-master\models\yolo.py", line 185, in __init__
    self.model, self.save = parse_model(deepcopy(self.yaml), ch=[ch])  # model, savelist
  File "D:\yolov5-master\models\yolo.py", line 319, in parse_model
    BottleneckCSP, C2, C3, C3TR, C3SPP, C3Ghost, nn.ConvTranspose2d, DWConvTranspose2d, C3x}:
NameError: name 'C2' is not defined. Did you mean: 'c2'?

D:\yolov5-master>python train.py --img 900 --batch 2 --epoch 100 --data D:/yolov5-master/data/ab.yaml --cfg D:/yolov5-master/models/yolov5s.yaml --weights yolov5s.pt
train: weights=yolov5s.pt, cfg=D:/yolov5-master/models/yolov5s.yaml, data=D:/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-10-15 Python-3.10.7 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 D:\yolov5-master\Y2\train... 1 images, 0 backgrounds, 159 corrupt: 100%|██████████| 160/160 [00:13<00:0
train: WARNING   D:\yolov5-master\Y2\images\fruit1.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit1.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit10.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit10.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit100.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit100.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit102.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit102.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit103.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit103.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit104.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit104.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit106.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit106.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit108.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit108.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit109.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit109.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit11.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit11.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit110.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit110.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit111.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit111.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit113.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit113.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit114.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit114.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit115.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit115.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit116.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit116.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit117.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit117.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit118.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit118.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit119.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit119.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit12.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit12.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit120.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit120.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit121.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit121.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit122.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit122.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit123.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit123.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit124.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit124.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit125.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit125.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit127.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit127.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit129.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit129.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit13.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit13.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit130.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit130.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit131.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit131.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit132.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit132.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit133.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit133.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit134.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit134.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit135.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit135.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit136.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit136.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit138.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit138.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit14.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit14.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit142.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit142.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit143.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit143.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit144.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit144.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit145.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit145.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit147.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit147.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit148.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit148.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit149.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit149.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit15.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit15.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit151.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit151.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit152.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit152.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit155.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit155.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit156.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit156.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit157.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit157.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit158.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit158.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit159.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit159.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit16.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit16.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit161.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit161.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit162.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit162.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit163.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit163.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit164.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit164.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit165.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit165.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit167.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit167.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit168.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit168.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit169.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit169.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit17.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit17.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit170.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit170.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit171.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit171.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit172.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit172.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit173.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit173.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit174.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit174.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit175.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit175.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit176.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit176.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit177.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit177.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit178.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit178.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit179.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit179.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit18.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit18.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit180.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit180.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit181.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit181.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit182.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit182.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit183.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit183.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit184.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit184.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit185.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit185.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit186.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit186.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit187.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit187.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit188.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit188.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit19.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit19.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit196.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit196.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit197.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit197.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit198.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit198.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit199.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit199.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit2.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit2.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit200.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit200.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit202.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit202.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit208.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit208.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit209.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit209.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit211.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit211.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit22.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit22.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit23.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit23.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit25.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit25.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit26.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit26.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit27.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit27.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit28.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit28.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit29.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit29.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit3.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit3.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit30.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit30.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit31.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit31.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit33.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit33.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit34.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit34.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit35.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit35.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit36.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit36.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit38.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit38.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit39.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit39.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit4.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit4.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit40.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit40.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit43.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit43.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit44.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit44.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit45.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit45.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit46.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit46.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit49.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit49.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit50.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit50.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit51.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit51.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit52.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit52.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit53.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit53.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit54.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit54.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit55.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit55.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit57.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit57.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit59.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit59.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit6.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit6.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit60.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit60.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit61.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit61.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit62.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit62.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit63.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit63.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit65.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit65.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit66.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit66.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit68.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit68.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit69.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit69.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit7.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit7.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit70.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit70.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit71.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit71.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit73.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit73.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit74.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit74.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit75.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit75.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit77.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit77.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit78.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit78.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit79.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit79.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit80.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit80.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit81.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit81.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit82.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit82.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit83.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit83.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit85.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit85.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit86.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit86.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit87.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit87.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit88.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit88.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit89.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit89.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit90.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit90.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit91.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit91.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit94.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit94.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit95.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit95.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit97.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit97.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit98.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit98.png'
train: WARNING   D:\yolov5-master\Y2\images\fruit99.png: ignoring corrupt image/label: [Errno 22] Invalid argument: ' D:\\yolov5-master\\Y2\\images\\fruit99.png'
train: WARNING  Cache directory D:\yolov5-master\Y2 is not writeable: [WinError 183] : 'D:\\yolov5-master\\Y2\\train.cache.npy' -> 'D:\\yolov5-master\\Y2\\train.cache'
val: Scanning D:\yolov5-master\Y2\val.cache... 1 images, 0 backgrounds, 19 corrupt: 100%|██████████| 20/20 [00:00

你可能感兴趣的:(YOLO,python,算法)