YOLOv5— Fruit Detection

🍨 本文为[🔗365天深度学习训练营学习记录博客
🍦 参考文章:365天深度学习训练营-第7周:咖啡豆识别(训练营内部成员可读)
🍖 原作者:[K同学啊 | 接辅导、项目定制](https://mtyjkh.blog.csdn.net/)
🚀 文章来源:[K同学的学习圈子](https://www.yuque.com/mingtian-fkmxf/zxwb45)

一、 数据集详情:

数据集来源方式一:

Fruit Detection | Kaggle200 images belonging to 4 classesicon-default.png?t=N7T8https://www.kaggle.com/datasets/andrewmvd/fruit-detection/数据集来源方式二:

链接:https://pan.baidu.com/s/1XAjw6EkViD8WntscrYscYw?pwd=idfi 
提取码:idfi 

 二、前期准备:

安装Git

下载地址为 git-scm.com或者gitforwindows.org,或者阿里镜像

一直Next就可以 

配置环境变量

最后一步根据自己Git的bin目录路径设置

数据集位置

ImageSets文件下Main文件夹 及下图所示文本文件需自行创建,文本文件内容运行代码后得到 

voc_label.py代码内容: 

# 划分train、test、val文件
import os
import random
import argparseparser = argparse.ArgumentParser()
# xml文件的地址,根据自己的数据进行修改 xml一般存放在Annotations下
parser.add_argument('--xml_path', default='D:/yolov5-master/Y2/annotations', type=str, help='input txt label path')
# 数据集的划分,地址选择自己数据下的ImageSets/Main
parser.add_argument('--txt_path', default='D:/yolov5-master/Y2/ImageSets/Main', type=str, help='output txt label path')
opt = parser.parse_args()trainval_percent = 0.9
train_percent = 8/9
xmlfilepath = opt.xml_path
txtsavepath = opt.txt_path
total_xml = os.listdir(xmlfilepath)
if not os.path.exists(txtsavepath):os.makedirs(txtsavepath)num = len(total_xml)
list_index = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list_index, tv)
train = random.sample(trainval, tr)file_trainval = open(txtsavepath + '/trainval.txt', 'w')
file_test = open(txtsavepath + '/test.txt', 'w')
file_train = open(txtsavepath + '/train.txt', 'w')
file_val = open(txtsavepath + '/val.txt', 'w')for i in list_index:name = total_xml[i][:-4] + '\n'if i in trainval:file_trainval.write(name)if i in train:file_train.write(name)else:file_val.write(name)else:file_test.write(name)file_trainval.close()
file_train.close()
file_val.close()
file_test.close()

voc_label.py代码内容:

import xml.etree.ElementTree as ET
import os
from os import getcwdsets = ['train', 'val', 'test']
classes = ["banana", "snake fruit", "dragon fruit", "pineapple"]  # 改成自己的类别
abs_path = os.getcwd()
print(abs_path)def convert(size, box):dw = 1. / (size[0])dh = 1. / (size[1])x = (box[0] + box[1]) / 2.0 - 1y = (box[2] + box[3]) / 2.0 - 1w = box[1] - box[0]h = box[3] - box[2]x = x * dww = w * dwy = y * dhh = h * dhreturn x, y, w, hdef convert_annotation(image_id):in_file = open('D:/yolov5-master/Y2/annotations/%s.xml' % (image_id), encoding='UTF-8')out_file = open('D:/yolov5-master/Y2/labels/%s.txt' % (image_id), 'w')tree = ET.parse(in_file)root = tree.getroot()filename = root.find('filename').textfilenameFormat = filename.split(".")[1]size = root.find('size')w = int(size.find('width').text)h = int(size.find('height').text)for obj in root.iter('object'):difficult = obj.find('difficult').textcls = obj.find('name').textif cls not in classes or int(difficult) == 1:continuecls_id = classes.index(cls)xmlbox = obj.find('bndbox')b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text),float(xmlbox.find('ymax').text))b1, b2, b3, b4 = b# 标注越界修正if b2 > w:b2 = wif b4 > h:b4 = hb = (b1, b2, b3, b4)bb = convert((w, h), b)out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')return filenameFormatwd = getcwd()
for image_set in sets:if not os.path.exists('D:/yolov5-master/Y2/labels/'):os.makedirs('D:/yolov5-master/Y2/labels/')image_ids = open('D:/yolov5-master/Y2/ImageSets/Main/%s.txt' % (image_set)).read().strip().split()list_file = open('D:/yolov5-master/Y2/%s.txt' % (image_set),'w')for image_id in image_ids:filenameFormat = convert_annotation(image_id)list_file.write( ' D:/yolov5-master/Y2/images/%s.%s\n' % (image_id,filenameFormat))list_file.close()

​三、模型训练:

1.打开命令窗

2.命令窗中输入:

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

3.运行结果:

D:\yolov5-master>python D:/yolov5-master/train.py --img 900 --batch 2 --epoch 100 --data D:/yolov5-master/data/ab.yaml --cfg D:/yolov5-master/models/yolov5s.yaml --weights D:/yolov5-master/yolov5s.pt
train: weights=D:/yolov5-master/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 CPUhyperparameters: 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=4from  n    params  module                                  arguments0                -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     73984  models.common.Conv                      [64, 128, 3, 2]4                -1  2    115712  models.common.C3                        [128, 128, 2]5                -1  1    295424  models.common.Conv                      [128, 256, 3, 2]6                -1  3    625152  models.common.C3                        [256, 256, 3]7                -1  1   1180672  models.common.Conv                      [256, 512, 3, 2]8                -1  1   1182720  models.common.C3                        [512, 512, 1]9                -1  1    656896  models.common.SPPF                      [512, 512, 5]10                -1  1    131584  models.common.Conv                      [512, 256, 1, 1]11                -1  1         0  torch.nn.modules.upsampling.Upsample    [None, 2, 'nearest']12           [-1, 6]  1         0  models.common.Concat                    [1]13                -1  1    361984  models.common.C3                        [512, 256, 1, False]14                -1  1     33024  models.common.Conv                      [256, 128, 1, 1]15                -1  1         0  torch.nn.modules.upsampling.Upsample    [None, 2, 'nearest']16           [-1, 4]  1         0  models.common.Concat                    [1]17                -1  1     90880  models.common.C3                        [256, 128, 1, False]18                -1  1    147712  models.common.Conv                      [128, 128, 3, 2]19          [-1, 14]  1         0  models.common.Concat                    [1]20                -1  1    296448  models.common.C3                        [256, 256, 1, False]21                -1  1    590336  models.common.Conv                      [256, 256, 3, 2]22          [-1, 10]  1         0  models.common.Concat                    [1]23                -1  1   1182720  models.common.C3                        [512, 512, 1, False]24      [17, 20, 23]  1     24273  models.yolo.Detect                      [4, [[10, 13, 16, 30, 33, 23], [30, 61, 62, 45, 59, 119], [116, 90, 156, 198, 373, 326]], [128, 256, 512]]
YOLOv5s summary: 214 layers, 7030417 parameters, 7030417 gradients, 16.0 GFLOPsTransferred 342/349 items from D:\yolov5-master\yolov5s.pt
WARNING  --img-size 900 must be multiple of max stride 32, updating to 928
optimizer: SGD(lr=0.01) with parameter groups 57 weight(decay=0.0), 60 weight(decay=0.0005), 60 bias
train: Scanning D:\yolov5-master\Y2\train... 1 images, 0 backgrounds, 159 corrupt: 100%|██████████| 160/160 [00:15<00:0
AutoAnchor: 4.33 anchors/target, 1.000 Best Possible Recall (BPR). Current anchors are a good fit to dataset
Plotting labels to runs\train\exp10\labels.jpg...
Image sizes 928 train, 928 val
Using 0 dataloader workers
Logging results to runs\train\exp10
Starting training for 100 epochs...Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size0/99         0G     0.1304    0.06978     0.0441          7        928:   0%|          | 0/1 [00:01<?, ?it/s]WARNING  TensorBoard graph visualization failure Sizes of tensors must match except in dimension 1. Expected size 58 but got size 57 for tensor number 1 in the list.0/99         0G     0.1304    0.06978     0.0441          7        928: 100%|██████████| 1/1 [00:02<00:00,  2.67Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3    0.00803      0.667     0.0344    0.00344Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size1/99         0G     0.1225    0.07017     0.0438          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.38Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3    0.00831      0.667     0.0276     0.0107Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size2/99         0G     0.1215    0.06272    0.04777          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.30Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3    0.00831      0.667     0.0276     0.0107Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size3/99         0G    0.07185    0.05769    0.03491          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.42Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3    0.00901      0.667     0.0295     0.0102Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size4/99         0G    0.06636    0.05743    0.03418          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.33Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3    0.00901      0.667     0.0295     0.0102Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size5/99         0G     0.1135     0.1005    0.05154         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.37Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3    0.00901      0.667     0.0295     0.0102Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size6/99         0G     0.1286    0.07093    0.04479          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.38Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3    0.00238      0.333     0.0101    0.00704Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size7/99         0G    0.08015    0.05284    0.03359          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.28Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3    0.00238      0.333     0.0101    0.00704Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size8/99         0G     0.1286    0.06056    0.05875          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.34Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3    0.00238      0.333     0.0101    0.00704Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size9/99         0G     0.1279    0.05935     0.0491          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.37Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3    0.00238      0.333     0.0101    0.00704Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size10/99         0G     0.1191     0.0974    0.04818         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.49Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<0all          1          3     0.0026      0.333    0.00691    0.00345Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size11/99         0G     0.0738     0.0546    0.03086          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.32Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.73s/it]all          1          3     0.0026      0.333    0.00691    0.00345Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size12/99         0G     0.1205    0.08792    0.05034         10        928: 100%|██████████| 1/1 [00:01<00:00,  1.35s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.64s/it]all          1          3     0.0026      0.333    0.00691    0.00345Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size13/99         0G     0.1234    0.05631    0.04999          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.33s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.64s/it]all          1          3     0.0026      0.333    0.00691    0.00345Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size14/99         0G    0.07691    0.05385    0.03376          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.31s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.70s/it]all          1          3     0.0026      0.333    0.00691    0.00345Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size15/99         0G     0.1294     0.0546    0.05427          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.30s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.73s/it]all          1          3     0.0026      0.333    0.00691    0.00345Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size16/99         0G     0.1237     0.0579    0.04737          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.47s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.71s/it]all          1          3    0.00256      0.333    0.00296   0.000296Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size17/99         0G    0.07855    0.05206     0.0386          2        928: 100%|██████████| 1/1 [00:01<00:00,  1.31s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.72s/it]all          1          3    0.00256      0.333    0.00296   0.000296Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size18/99         0G     0.1335    0.05947    0.04614          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.31s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.76s/it]all          1          3    0.00256      0.333    0.00296   0.000296Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size19/99         0G     0.1285    0.05954    0.04496          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.32s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.71s/it]all          1          3    0.00256      0.333    0.00296   0.000296Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size20/99         0G     0.1216    0.07369    0.05041         10        928: 100%|██████████| 1/1 [00:01<00:00,  1.35s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.74s/it]all          1          3    0.00256      0.333    0.00296   0.000296Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size21/99         0G     0.1318    0.06007    0.04623          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.33s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.75s/it]all          1          3    0.00256      0.333    0.00296   0.000296Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size22/99         0G     0.1135    0.09987    0.04957         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.30s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.75s/it]all          1          3    0.00256      0.333    0.00296   0.000296Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size23/99         0G     0.1241    0.05618    0.05124          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.33s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.73s/it]all          1          3    0.00256      0.333    0.00296   0.000296Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size24/99         0G     0.1244    0.07268    0.04454          7        928: 100%|██████████| 1/1 [00:01<00:00,  1.40s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.86s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size25/99         0G     0.1196     0.1022    0.05058         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.34s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.88s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size26/99         0G     0.1197    0.07976    0.04923          8        928: 100%|██████████| 1/1 [00:01<00:00,  1.32s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.88s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size27/99         0G     0.1287    0.05756    0.04383          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.30s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.92s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size28/99         0G     0.0757    0.05765    0.03272          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.36s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.86s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size29/99         0G     0.1276    0.05891    0.03639          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.33s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.90s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size30/99         0G     0.1317    0.06803    0.04382          8        928: 100%|██████████| 1/1 [00:01<00:00,  1.32s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.93s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size31/99         0G     0.1299    0.06131    0.04325          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.33s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.88s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size32/99         0G    0.08191    0.05392    0.03174          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.30s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.94s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size33/99         0G     0.1191     0.1003    0.05059         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.33s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.85s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size34/99         0G     0.1311    0.06081    0.04263          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.29s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.92s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size35/99         0G     0.1159    0.07512    0.04745          7        928: 100%|██████████| 1/1 [00:01<00:00,  1.35s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.87s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size36/99         0G     0.1149     0.1004    0.04459         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.38s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.90s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size37/99         0G     0.1253     0.0711    0.04095          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.36s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.91s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size38/99         0G    0.08004    0.05136    0.03433          2        928: 100%|██████████| 1/1 [00:01<00:00,  1.32s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.96s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size39/99         0G     0.1246    0.07557    0.03903          8        928: 100%|██████████| 1/1 [00:01<00:00,  1.36s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.90s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size40/99         0G     0.1238    0.07437    0.04864          7        928: 100%|██████████| 1/1 [00:01<00:00,  1.34s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.95s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size41/99         0G     0.1269    0.07189    0.03934          7        928: 100%|██████████| 1/1 [00:01<00:00,  1.33s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.00s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size42/99         0G     0.1268    0.06025    0.04664          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.33s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.97s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size43/99         0G     0.1211    0.06839    0.04457          7        928: 100%|██████████| 1/1 [00:01<00:00,  1.36s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.92s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size44/99         0G     0.1208     0.0875    0.04761         10        928: 100%|██████████| 1/1 [00:01<00:00,  1.31s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.94s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size45/99         0G     0.1186     0.0645     0.0471          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.36s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.88s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size46/99         0G     0.0704    0.05326    0.03264          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.33s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.92s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size47/99         0G     0.1162    0.09532      0.049         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.31s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.99s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size48/99         0G       0.13    0.06316    0.04502          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.45s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.99s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size49/99         0G     0.1291    0.05592    0.05101          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.54s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.07s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size50/99         0G     0.1218    0.09533    0.04983         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.65s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.02s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size51/99         0G     0.1329    0.06112    0.03709          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.38s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.97s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size52/99         0G     0.1198    0.08183    0.04453          9        928: 100%|██████████| 1/1 [00:01<00:00,  1.53s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.04s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size53/99         0G    0.08057    0.05256    0.03162          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.38s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.92s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size54/99         0G     0.1144    0.09822    0.04822         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.30s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.98s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size55/99         0G      0.111    0.06732    0.05142          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.40s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.94s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size56/99         0G     0.1189    0.07694    0.04701          8        928: 100%|██████████| 1/1 [00:01<00:00,  1.67s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.29s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size57/99         0G     0.1302    0.05621    0.04398          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.56s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.01s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size58/99         0G    0.07134     0.0695    0.03488          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.56s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.02s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size59/99         0G     0.1114     0.1002    0.04767         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.52s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.04s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size60/99         0G     0.1304    0.05492    0.03808          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.48s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.04s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size61/99         0G    0.07421    0.05768    0.03333          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.50s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.98s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size62/99         0G     0.1312    0.05631    0.04128          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.55s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.04s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size63/99         0G     0.1162      0.101    0.04856         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.66s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.01s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size64/99         0G     0.1218    0.06413    0.04065          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.55s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.07s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size65/99         0G     0.1286    0.07462    0.03956          8        928: 100%|██████████| 1/1 [00:01<00:00,  1.57s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.10s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size66/99         0G     0.1292    0.06246    0.03856          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.70s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.07s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size67/99         0G     0.1201    0.06854    0.04829          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.49s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.09s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size68/99         0G     0.1225    0.05767    0.05573          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.67s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.08s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size69/99         0G     0.1235    0.07456    0.03709          8        928: 100%|██████████| 1/1 [00:01<00:00,  1.52s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.09s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size70/99         0G     0.1264    0.06684    0.03873          7        928: 100%|██████████| 1/1 [00:01<00:00,  1.61s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.10s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size71/99         0G     0.1201    0.09532    0.04892         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.56s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.06s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size72/99         0G     0.1264    0.05659    0.04049          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.57s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.09s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size73/99         0G     0.1245    0.06176    0.04652          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.69s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.06s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size74/99         0G      0.118    0.09391    0.04688         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.53s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.29s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size75/99         0G    0.07645    0.05334    0.03268          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.58s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.19s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size76/99         0G    0.07917    0.05292    0.03387          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.67s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.26s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size77/99         0G     0.1243    0.05652    0.04255          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.59s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.16s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size78/99         0G     0.1218    0.06379    0.05082          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.60s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.08s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size79/99         0G    0.07753    0.05553    0.02843          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.58s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.11s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size80/99         0G    0.07642    0.05823    0.02988          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.88s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.15s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size81/99         0G    0.06926    0.05681    0.03332          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.73s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.05s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size82/99         0G       0.12    0.06574    0.04429          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.50s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.04s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size83/99         0G     0.1282    0.06618    0.03974          7        928: 100%|██████████| 1/1 [00:01<00:00,  1.49s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.05s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size84/99         0G     0.1215    0.08404    0.04465         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.54s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.02s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size85/99         0G     0.1204    0.06103    0.04294          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.53s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.05s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size86/99         0G     0.1185    0.09924    0.04871         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.60s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.98s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size87/99         0G     0.1208    0.06346       0.04          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.59s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.09s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size88/99         0G     0.1202    0.05665    0.04612          3        928: 100%|██████████| 1/1 [00:01<00:00,  1.51s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.05s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size89/99         0G     0.1223    0.05586    0.04203          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.62s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.03s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size90/99         0G     0.1273    0.05958    0.04368          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.54s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.06s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size91/99         0G     0.1191    0.06497    0.04302          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.57s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.12s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size92/99         0G     0.1171    0.08648    0.04909         10        928: 100%|██████████| 1/1 [00:01<00:00,  1.63s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.10s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size93/99         0G     0.1156    0.07428    0.04235          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.65s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.11s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size94/99         0G     0.1029    0.06194    0.06055          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.53s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.01s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size95/99         0G     0.1186    0.09823    0.05011         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.55s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.99s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size96/99         0G     0.1274    0.05968    0.03607          5        928: 100%|██████████| 1/1 [00:01<00:00,  1.54s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.99s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size97/99         0G     0.1268    0.06459    0.04045          6        928: 100%|██████████| 1/1 [00:01<00:00,  1.50s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.05s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size98/99         0G     0.1228    0.09686    0.03788         12        928: 100%|██████████| 1/1 [00:01<00:00,  1.47s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.99s/it]all          1          3          0          0          0          0Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size99/99         0G    0.07675     0.0578    0.03083          4        928: 100%|██████████| 1/1 [00:01<00:00,  1.51s/it]Class     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:02<00:00,  2.01s/it]all          1          3          0          0          0          0100 epochs completed in 0.101 hours.
Optimizer stripped from runs\train\exp10\weights\last.pt, 14.6MB
Optimizer stripped from runs\train\exp10\weights\best.pt, 14.6MBValidating runs\train\exp10\weights\best.pt...
Fusing layers...
YOLOv5s summary: 157 layers, 7020913 parameters, 0 gradients, 15.8 GFLOPsClass     Images  Instances          P          R      mAP50   mAP50-95:   0%|          | 0/1 [00:00<?, ?it/s]WARNING  NMS time limit 0.550s exceededClass     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 1/1 [00:01<00:00,  1.59s/it]all          1          3    0.00833      0.667     0.0276     0.0107banana          1          1          0          0          0          0snake fruit          1          1    0.00775          1     0.0474     0.0284pineapple          1          1     0.0172          1     0.0355    0.00355
Results saved to runs\train\exp10

训练结果保存在Results saved to runs\train\exp10文件中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/121497.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

业务架构、应用架构、技术架构、数据架构

架构规划的重要性 如果没有进行合理的架构规划&#xff0c;将会引发一系列的问题。为了避免这些问题的发生&#xff0c;企业需要进行业务架构、应用架构、技术架构和数据架构的全面规划和设计&#xff0c;以构建一个清晰、可持续发展的企业架构。 https://www.zhihu.com/que…

asp.net教务管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio计算机毕业设计

一、源码特点 asp.net 教务管理信息系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言 开发 asp.net教务管理系统 应用技术&a…

适用于嵌入式arm的ffmpeg编解码

在嵌入式arm应用开发中&#xff0c;经常会遇到需要处理视频的情况&#xff0c;这时候就需要强大的开源工具ffmpeg出马了。 这里可以下载到各个版本的ffmpeg。 ffmpeg各版本https://www.videohelp.com/software/ffmpeg/old-versions 现在ffmpeg更新较频繁&#xff0c;如…

信钰证券:华为汽车概念股持续活跃 圣龙股份斩获12连板

近期&#xff0c;华为轿车概念股在A股商场遭到热捧&#xff0c;多只股票迭创前史新高。10月23日&#xff0c;华为轿车概念股再度走强&#xff0c;到收盘&#xff0c;板块内圣龙股份、银宝山新涨停&#xff0c;轿车ETF在重仓股提振下盘中一度上涨近2%。业界人士认为&#xff0c;…

此页面不能正确地重定向

这种是由于条件判断有误&#xff0c;程序不断的重定向到一个页面&#xff0c;而造成的死循环的情况 下面列举一个常出现的场景之一 1、使用过滤器实现登录验证错误处理 解释&#xff1a;当用户访问login.jsp进行登录的时候&#xff0c;这个时候请求会被Filter捕获&#xff0…

[每周一更]-(第69期):特殊及面试的GIT问题解析

整合代码使用过程的问题&#xff0c;以及面试遇到的细节&#xff0c;汇总一些常用命令的对比解释和对比&#xff1b; 1、fetch和pull区别 git fetch是将远程主机的最新内容拉到本地&#xff0c;用户在检查了以后决定是否合并到工作本机分支中。 git pull则是将远程主机的最新内…

51单片机复位电容计算与分析(附带Proteus电路图)

因为iC x (dU/dt).在上电瞬间&#xff0c;U从0变化到U,所以这一瞬间就是通的&#xff0c;然后这就是一个直流回路&#xff0c;因为电容C直流中是断路的&#xff0c;所以就不通了。 然后来分析一下这个电容的电压到底是能不能达到单片机需要的复位电压。 这是一个线性电容&…

Linux常见问题解决操作(yum被占用、lsb无此命令、Linux开机进入命令界面等)

Linux常见问题解决操作&#xff08;yum被占用、lsb无此命令、Linux开机进入命令界面等&#xff09; 问题一、新安装的Linux使用命令lsb_release提示无此命令&#xff0c;需先安装再使用 Linux安装lsb命令 lsb是Linux Standard Base的缩写&#xff08;Linux基本标准&#xff…

SpringMVC Day 05 : Spring 中的 Model

前言 欢迎来到 SpringMVC 系列教程的第五天&#xff01;在之前的教程中&#xff0c;我们已经学习了如何使用控制器处理请求和返回视图。今天&#xff0c;我们将深入探讨 Spring 中的 Model。 在 Web 应用程序开发中&#xff0c;数据的传递和展示是非常重要的。SpringMVC 提供…

仿真软件Proteus8.10 SP3 pro一键安装、汉化教程(附proteus8.10下载链接安装视频)

本破解教程仅供个人及 proteus 8.10粉丝们交流学习之用&#xff0c;请勿用于商业用途&#xff0c; 谢谢支持。此版本为Proteus8.10 SP3 pro 这里写目录标题 安装包下载链接:视频教程 一、安装软件解压二、软件安装三、汉化 安装包下载链接: http://www.eemcu.cn/2022/05/14/pr…

FindDiff_Qt找不同项目

文章目录 项目简介源代码widget.hwidget.cppwidget.ui配置文件找不同.json 项目简介 开发平台 win10Qt6.6msvc2022 简介 微信上有一些好玩的游戏, 找不同一种比较轻松有趣的游戏,也曾经在街机上被坑过N币, 玩了几次后,发现还是太难了,于是开始截屏放大,慢慢找,再然后就发展到截…

群晖上搭建teamspeak3语音服务器

什么是 TeamSpeak &#xff1f; TeamSpeak &#xff08;简称 TS&#xff09;是一款团队语音通讯工具&#xff0c;但比一般的通讯工具具有更多的功能而且使用方便。它由服务器端程序和客户端程序两部分组成&#xff0c;如果不是想自己架设 TS 服务器&#xff0c;只需下载客户端程…

Linux系统编程_网络编程:字节序、socket、serverclient、ftp 云盘

1. 网络编程概述&#xff08;444.1&#xff09; TCP/UDP对比 TCP 面向连接&#xff08;如打电话要先拨号建立连接&#xff09;&#xff1b;UDP 是无连接的&#xff0c;即发送数据之前不需要建立连接TCP 提供可靠的服务。也就是说&#xff0c;通过 TCP 连接传送的数据&#xf…

设计模式——单例模式详解

目录 设计模式类型单例模式单例模式方式饿汉式静态常量方式静态代码块形式 懒汉式线程不安全&#xff08;不推荐&#xff09;懒汉式优化&#xff08;不推荐&#xff09; 双重检查&#xff08;推荐方式&#xff09;静态内部类&#xff08;推荐方式&#xff09;枚举方式&#xff…

STM32 ADC数模转换器

STM32 ADC数模转换器 ADC简介 ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁 STM32主要是数字电路&#xff0c;数字电路只有高低电平&#xf…

【torch高级】一种新型的概率学语言pyro(01/2)

一、说明 贝叶斯推理&#xff0c;也就是变分概率模型估计&#xff0c;属于高级概率学模型&#xff0c;极有学习价值&#xff1b;一般来说&#xff0c;配合实际活动学习可能更直观&#xff0c;而pyro是pytorch的概率工具&#xff0c;不同于以往的概率工具&#xff0c;只是集中于…

PY32F002A系列单片机:高性价比、低功耗,满足多样化应用需求

PY32F002A系列微控制器是一款高性能、低功耗的MCU&#xff0c;它采用32位ARM Cortex-M0内核&#xff0c;最高工作频率达到24MHz&#xff0c;提供了强大的计算能力。此外&#xff0c;PY32F002A拥有最大20Kbytes的flash存储器和3Kbytes的SRAM&#xff0c;为简单的数据处理提供了充…

Python Selenium 之数据驱动测试的实现!

数据驱动模式的测试好处相比普通模式的测试就显而易见了吧&#xff01;使用数据驱动的模式&#xff0c;可以根据业务分解测试数据&#xff0c;只需定义变量&#xff0c;使用外部或者自定义的数据使其参数化&#xff0c;从而避免了使用之前测试脚本中固定的数据。可以将测试脚本…

Unity3D 如何用unity引擎然后用c#语言搭建自己的服务器

Unity3D是一款强大的游戏开发引擎&#xff0c;可以用于创建各种类型的游戏。在游戏开发过程中&#xff0c;经常需要与服务器进行通信来实现一些功能&#xff0c;比如保存和加载游戏数据、实现多人游戏等。本文将介绍如何使用Unity引擎和C#语言搭建自己的服务器&#xff0c;并给…

Redis(05)| 数据结构-哈希表

哈希表是一种保存键值对&#xff08;key-value&#xff09;的数据结构。 哈希表中的每一个 key 都是独一无二的&#xff0c;程序可以根据 key 查找到与之关联的 value&#xff0c;或者通过 key 来更新 value&#xff0c;又或者根据 key 来删除整个 key-value等等。 在讲压缩列表…