当前位置: 首页 > news >正文

php 网站后台想做外贸生意如何起步

php 网站后台,想做外贸生意如何起步,做网站的域名怎么申请,搭建 网站 实例欢迎关注『youcans动手学模型』系列 本专栏内容和资源同步到 GitHub/youcans 【YOLO 项目实战】#xff08;1#xff09;YOLO5 环境配置与检测 【YOLO 项目实战】#xff08;10#xff09;YOLO8 环境配置与推理检测 【YOLO 项目实战】#xff08;11#xff09;YOLO8 数据… 欢迎关注『youcans动手学模型』系列 本专栏内容和资源同步到 GitHub/youcans 【YOLO 项目实战】1YOLO5 环境配置与检测 【YOLO 项目实战】10YOLO8 环境配置与推理检测 【YOLO 项目实战】11YOLO8 数据集与模型训练 【YOLO5 项目实战】11YOLO8 数据集与模型训练 1. 准备训练数据集1.1 YOLOv8 数据集的格式1.2 下载 YOLOv8 数据集1.3 整理 YOLOv8 数据集 3. YOLOv8 自定义数据集的训练3.1 下载 YOLOv8 预训练模型3.2 命令行CLI接口的模型训练3.3 使用 Python 接口的模型推理3.4 模型训练参数说明3.5 训练结果文件说明 4. 模型验证与模型预测4.1 模型验证4.2 模型预测 上节介绍了 YOLOv8 的下载、配置和推理本节介绍用本地数据集训练 YOLOv8 模型建立特定任务的私有模型。 创建自定义模型来检测对象是一个迭代过程包括收集和组织图像、标注对象、训练模型、模型部署使用部署的模型进行推理。 1. 准备训练数据集 YOLOv8 项目中提供了不同数据集转换的指南和例程位于 “.\docs\en\datasets” 路径例如在文件 coco.md 中介绍了使用 COCO 数据集来训练 YOLOv8 目标检测模型。 1.1 YOLOv8 数据集的格式 数据集的组织 YOLOv8数据集通常包含图像文件和标注文件。图像文件通常是 jpg、png 等图像格式包含了待检测的目标。标注文件则是包含每张图像中目标对象的类别和位置信息的文本文件。 YOLOv8 默认使用 COCO2017 数据集进行训练结构如下。 images 下包含 train、val 文件夹这两个文件夹下包含此次需要的 图片信息labels 下包含 train、val 文件夹这两个文件夹下包含此次需要的 对应图片的标注信息test_images 下包含的是提供测试的数据集 dataset ├── images │ ├── train │ ├── val │ ├── test (option) ├── labels │ ├── train │ ├── val │ ├── test (option)标注文件的格式 YOLO格式的标注文件通常是一个文本文件每一行代表一个目标物体的标注信息。 标注信息通常包含类别编号、目标中心横坐标相对于图像宽度、目标中心纵坐标相对于图像高度、目标宽度相对于图像宽度和目标高度相对于图像高度具体格式如下 object-class-id x y width height其中 object-class-id是目标对象的类别编号整数表示。 x和y是目标中心位置的坐标经过归一化处理即目标的真实x、y值除以图像的宽度和高度是小于1的浮点数。 width和height是目标的宽度和高度同样经过归一化处理也是小于1的浮点数。 例如一行标注信息为 “0 0.5 0.6 0.3 0.4”其中“0”表示类别编号后面的数字表示目标在图像中的位置和大小信息‌。 1.2 下载 YOLOv8 数据集 Roboflow Annotate是一个简单的基于网络的工具用于管理和标记用户的图像集并以YOLO的注释格式导出。无论是否使用 Roboflow 标记图像都可以使用它将数据集转换为YOLO格式创建YOLOv8 YAML配置文件并将其托管以导入训练脚本。 打开 Roboflow 网站从Roboflow 公开数据集中选择一个数据集下载到本地。 本文选择 “水族馆数据集Aquarium Dataset”。该数据集由 Roboflow 从美国两个水族馆收集的 638 张图像组成Henry Doorly Zoo 和 National Aquarium in Baltimore。Roboflow对这些图像进行了标记以便进行物体检测。图像和注释在知识共享署名许可下发布。 该数据集标记了 7 个类别鱼类fish、水母jellyfish、企鹅penguins、鲨鱼sharks、海雀puffins、黄貂鱼stingrays和海星starfish。大多数图像包含多个边界框。 Roboflow 提供了多种下载格式主要是数据集组织和标注格式的区别。注意要以YOLOv8 格式导出如下图所示。 选择 YOLOv8格式下载 水族馆数据集Aquarium Dataset。 下载后将数据集解压缩。 下载 Aquarium 数据集的文件路径如下 - Dataset_Aquarium- test- images- labels- train- images- labels- valid- images- labels- data.yaml下载的 Aquarium 数据集设有 testtrainvalid 三个文件夹分别用作测试、训练和检验每个文件夹下设有 imageslabels 两个文件夹分别保存图像文件和标注文件。 一个典型的标注文件的内容如下。共有 3行每行表示一个检测目标。每行有 5个参数第1列是类别标签Yes/No后 4个参数是 BoundingBox 的坐标位置。 0 0.31875 0.5976190476190476 0.05583333333333333 0.13174603174603175 0 0.31916666666666665 0.2912698412698413 0.12833333333333333 0.3253968253968254 0 0.5270833333333333 0.16746031746031745 0.12416666666666666 0.2841269841269841如果自己收集和标注数据集也要按照以上格式来组织数据集和标注文件。 数据集配置文件 .yaml 数据集配置文件中给出了数据集的路径训练集、检验集和验证集的路径分类任务的类别数量 nc 和类名列表 names。 Aquarium Dataset 数据集配置文件 data.yaml 位于数据集的根目录内容如下 train: ../train/images val: ../valid/images test: ../test/imagesnc: 7 names: [fish, jellyfish, penguin, puffin, shark, starfish, stingray]其中train 表示训练集图像文件夹的路径val 表示验证集图像文件夹的路径test 表示测试集图像文件夹的路径。nc:7 表示类别数为 7names 表示类别名。 注意nc 是由数据集的标注内容决定的不能自行修改。 1.3 整理 YOLOv8 数据集 YOLOv8 模型训练对于格式的要求非常严格数据集要保存在项目的指定路径 datasets 下并按照 数据集要保存在项目的指定路径 datasets 下并按下面的格式组织样本图片和标签。 - yolov8- datasets- Aquarium- images- test- train- val- labels- test- train- val- dataAquarium.yaml- ultralytics- yolov8n.pt编写数据集配置文件 YAML 文件 .yaml。 YOLO 模型训练时要调用数据集配置文件 YAML 文件 .yaml指定数据集的路径和分类类别。 在 YOLOv8 项目中提供了多个数据集配置文件例如“\YOLOv8\ultralytics\cfg\datasets\coco8.yaml” 可供参考。根据Aquarium Dataset 数据集配置文件 data.yaml 编写本项目的数据集配置文件 dataAquarium.yaml保存到数据集的根目录内容如下。 # Ultralytics YOLO , AGPL-3.0 license # Aquarium dataset # parent # ├── ultralytics # └── datasets # └── Aquarium# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] path: Aquarium # dataset root dir train: images/train # train images (relative to path) val: images/val # val images (relative to path) test: # test images (optional)# Classes names:0: fish1: jellyfish2: penguin3: puffin4: shark5: starfish6: stingray3. YOLOv8 自定义数据集的训练 3.1 下载 YOLOv8 预训练模型 在 YOLO/GitHub 项目仓提供了检测Detection、分类Classification、分割Segmentation、姿态估计Pose、定向边界框检测OBB等任务的预训练模型。YOLOv8 有多个不同规模的模型从小到大依次是YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l、YOLOv8x。这些模型与各种操作模式兼容包括推理、验证、训练和导出便于在部署和开发的不同阶段使用。 由于 YOLO 更新频繁预训练模型的入口不容易找现将下载地址列表如下。 https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n-pose.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8s-pose.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8m-pose.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8l-pose.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8x-pose.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n-seg.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8s-seg.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8m-seg.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8l-seg.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8x-seg.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n-cls.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8s-cls.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8m-cls.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8l-cls.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8x-cls.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8s.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8m.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8l.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8x.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n-obb.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8s-obb.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8m-obb.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8l-obb.pt https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8x-obb.pt本文选择 YOLOv8n参数约 6M。下载完成后将下载的预训练模型文件 yolov8n.pt 放在 YOLOv8 项目的根目录路径下例如 “C:\Python\PythonProjects\YOLOv8”。 3.2 命令行CLI接口的模型训练 YOLOv8 支持使用命令行接口command line interface, CLI对模型进行训练、验证或运行推断。 YOLOv8 命令行接口CLI方便在各种任务和版本上训练、验证或推断模型不需要定制或代码可以使用 yolo 命令从终端运行所有任务。 语法 yolo taskdetect modetrain modelyolov8n.yaml args...classify predict yolov8n-cls.yaml args...segment val yolov8n-seg.yaml args...export yolov8n.pt formatonnx args...使用 Aquarium 数据集进行模型训练的具体操作步骤如下 使用 miniconda Prompt 命令行或使用 PyCharm 的命令行窗口激活 YOLO8 虚拟环境输入如下命令就可以进行模型训练。注意其中的 model 和 data 的文件路径与用户的具体设置有关。 conda activate yolo8 yolo taskdetect modetrain model./yolov8n.pt data./datasets/Aquarium/dataAquarium.yaml epochs10 workers1 batch16 注意 1必须先激活 YOLO 虚拟环境。 2当前路径必须是 YOLOv8 项目所在的目录例如 “C:\Python\PythonProjects\YOLOv8”。 3预训练模型 yolov8n.pt 必须保存在模型配置参数 “model” 指定的路径。例如如果预训练模型保存在 “C:\Python|PythonProjects\YOLOv8\model\yolov8n.pt”则将模型配置参数修改为 “model.\model\yolov8n.pt”。 4训练好的模型及训练日志保存在 “.\runs\detect\train” 目录下。 运行结果如下。 (base) C:\Python\PythonProjects\YOLOv8conda activate yolo8(yolo8) C:\Python\PythonProjects\YOLOv8yolo taskdetect modetrain model./yolov8n.pt data./datasets/Aquarium/dataAquarium.yaml epochs10 workers1 batch16 Ultralytics YOLOv8.1.0 Python-3.8.20 torch-2.4.1cu121 CUDA:0 (NVIDIA GeForce RTX 3060, 12288MiB) engine\trainer: taskdetect, modetrain, model./yolov8n.pt, data./datasets/Aquarium/dataAquarium.yaml, epochs10, timeNone, patience50, batch16, imgsz640, saveTrue, save_period-1, cacheFalse, deviceNone, workers1, projectNone, nametrain4, exist_okFalse, pretrainedTrue, optimizerauto, verboseTrue, seed0, deterministicTrue, single_clsFalse, rectFalse, cos_lrFalse, close_mosaic10, resumeFalse, ampTrue, fraction1.0, profi leFalse, freezeNone, multi_scaleFalse, overlap_maskTrue, mask_ratio4, dropout0.0, valTrue, splitval, save_jsonFalse, save_hybridFalse, confNone, iou0.7, max_det300, halfFalse, dnnFalse, plotsTrue, sourceNone, vid_stride1, stream_bufferFalse, visualizeFalse, augmentFalse, agnostic_nmsFalse, classesNone, retina_masksFalse, embedNone, showFalse, save_framesFalse, save_txtFalse, save_confFalse, save_cropFalse, show_labelsTrue, show_confTrue, show_boxesTrue, line_widthNone, formattorchscript, kerasFalse, optimizeFalse, int8False, dynamicFalse, simplifyFalse, opsetNone, workspace4, nmsFalse, lr00.01, lrf0.01, momentum0.937, weight_decay0.0005, warmup_epochs3.0, warmup_momentum0.8, warmup_bias_lr0.1, box7.5, cls0.5, dfl1.5, pose12.0, kobj1.0, label_smoothing0.0, nbs64, hsv_h0.015, hsv_s0.7, hsv_v0.4, degrees0.0, translate0.1, scale0.5, shear0.0, perspective0.0, flipud0.0, fliplr0.5, mosaic1.0, mixup0.0, copy_paste0.0, auto_augmentrandaugment, erasing0.4, crop_fraction1.0, cfgNone, trackerbotsort.yaml, save_dirruns\detect\train4 Overriding model.yaml nc80 with nc7from n params module arguments0 -1 1 464 ultralytics.nn.modules.conv.Conv [3, 16, 3, 2]1 -1 1 4672 ultralytics.nn.modules.conv.Conv [16, 32, 3, 2]2 -1 1 7360 ultralytics.nn.modules.block.C2f [32, 32, 1, True]3 -1 1 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2]4 -1 2 49664 ultralytics.nn.modules.block.C2f [64, 64, 2, True]5 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2]6 -1 2 197632 ultralytics.nn.modules.block.C2f [128, 128, 2, True] 7 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2]8 -1 1 460288 ultralytics.nn.modules.block.C2f [256, 256, 1, True]9 -1 1 164608 ultralytics.nn.modules.block.SPPF [256, 256, 5]10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, nearest]11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1]12 -1 1 148224 ultralytics.nn.modules.block.C2f [384, 128, 1]13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, nearest]14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1]15 -1 1 37248 ultralytics.nn.modules.block.C2f [192, 64, 1]16 -1 1 36992 ultralytics.nn.modules.conv.Conv [64, 64, 3, 2]17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1]18 -1 1 123648 ultralytics.nn.modules.block.C2f [192, 128, 1]19 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2]20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1]21 -1 1 493056 ultralytics.nn.modules.block.C2f [384, 256, 1]22 [15, 18, 21] 1 752677 ultralytics.nn.modules.head.Detect [7, [64, 128, 256]] Model summary: 225 layers, 3012213 parameters, 3012197 gradients, 8.2 GFLOPsTransferred 319/355 items from pretrained weights Freezing layer model.22.dfl.conv.weighttrain: Scanning C:\Python\PythonProjects\YOLOv8\datasets\Aquarium\labels\train.cache... 448 images, 1 backgrounds, 0 corrupt: 100%|██████████| 448/4 val: Scanning C:\Python\PythonProjects\YOLOv8\datasets\Aquarium\labels\val.cache... 127 images, 0 backgrounds, 0 corrupt: 100%|██████████| 127/127 [ Plotting labels to runs\detect\train4\labels.jpg... optimizer: optimizerauto found, ignoring lr00.01 and momentum0.937 and determining best optimizer, lr0 and momentum automatically... optimizer: AdamW(lr0.000909, momentum0.9) with parameter groups 57 weight(decay0.0), 64 weight(decay0.0005), 63 bias(decay0.0) 10 epochs... Closing dataloader mosaicEpoch GPU_mem box_loss cls_loss dfl_loss Instances Size1/10 2.55G 1.545 3.855 1.274 130 640: 100%|██████████| 28/28 [00:0500:00, 4.79it/s]Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 4/4 [00:0000:00, 5.93it/s]all 127 909 0.0114 0.505 0.0551 0.029...Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size10/10 2.53G 1.367 1.593 1.156 116 640: 100%|██████████| 28/28 [00:0500:00, 5.30it/s]Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 4/4 [00:0000:00, 5.98it/s]all 127 909 0.688 0.594 0.629 0.36510 epochs completed in 0.018 hours. Optimizer stripped from runs\detect\train4\weights\last.pt, 6.2MB Optimizer stripped from runs\detect\train4\weights\best.pt, 6.2MBValidating runs\detect\train4\weights\best.pt... Ultralytics YOLOv8.1.0 Python-3.8.20 torch-2.4.1cu121 CUDA:0 (NVIDIA GeForce RTX 3060, 12288MiB) Model summary (fused): 168 layers, 3007013 parameters, 0 gradients, 8.1 GFLOPsClass Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 4/4 [00:0100:00, 3.34it/s]all 127 909 0.692 0.597 0.634 0.365fish 127 459 0.762 0.61 0.709 0.381jellyfish 127 155 0.687 0.836 0.817 0.437penguin 127 104 0.489 0.76 0.647 0.275puffin 127 74 0.578 0.338 0.371 0.17shark 127 57 0.63 0.579 0.593 0.351starfish 127 27 0.914 0.393 0.57 0.45stingray 127 33 0.786 0.667 0.732 0.495 Speed: 0.1ms preprocess, 1.6ms inference, 0.0ms loss, 2.5ms postprocess per image Results saved to runs\detect\trainLearn more at https://docs.ultralytics.com/modes/train3.3 使用 Python 接口的模型推理 YOLOv8 也提供了 Python 接口的调用方式。它提供了加载和运行模型以及处理模型输出的函数。该界面设计易于使用以便用户可以在他们的项目中快速实现目标检测。 使用 Aquarium 数据集进行模型训练的 Python 参考例程如下。 from ultralytics import YOLOif __name__ __main__:# 创建 YOLO 模型对象加载指定的模型配置model YOLO(./ultralytics/cfg/models/v8/yolov8.yaml)# 加载预训练的权重文件加速训练并提升模型性能model.load(yolov8n.pt)# 用指定数据集训练模型model.train(data./datasets/Aquarium/dataAquarium.yaml, # 指定训练数据集的配置文件路径cacheFalse, # 是否缓存数据集以加快后续训练速度imgsz640, # 指定训练时使用的图像尺寸epochs100, # 设置训练的总轮数为100轮batch16, # 设置每个训练批次的大小为16close_mosaic10, # 设置在训练的最后 10 轮中关闭 Mosaic 数据增强workers4, # 设置用于数据加载的线程数为4device0, # 指定使用的 GPU 设备optimizerSGD # 设置优化器为SGD随机梯度下降)注意 1使用项目默认路径自带的模型配置文件 “./ultralytics/cfg/models/v8/yolov8.yaml” 。 2训练数据集的配置文件路径为 “./datasets/Aquarium/dataAquarium.yaml”。 3训练好的模型及训练日志保存在 “./runs/detect/train” 目录下。 在 PyCharm 编译并运行程序就实现对 Aquarium 数据集进行模型训练并将训练结果保存到 “./runs/detect/train/weights/best.py”。 3.4 模型训练参数说明 YOLOv8 在默认配置文件 “./ultralytics/cfg/default.yaml” 中给出了模型训练参数的说明。 参数默认值描述设置建议modelNone模型文件路径如 yolov8n.pt, yolov8n.yaml根据需要选择合适的预训练模型文件dataNone数据文件路径如 coco128.yaml选择合适的数据集配置文件epochs100训练的周期数根据数据集大小和模型复杂度调整timeNone训练时间小时如果提供将覆盖epochs参数根据实际训练时间需求设置patience50早停的周期数等待无显著改进的周期数根据模型训练动态调整batch16每个批次的图像数量根据硬件资源调整imgsz640输入图像的尺寸根据硬件和模型性能要求调整saveTrue是否保存训练检查点和预测结果通常保持默认save_period-1每x周期保存检查点如果1则禁用根据需要设置cacheFalse是否使用数据加载缓存选项True/ram, disk 或 False根据硬件资源和数据集大小决定deviceNone运行设备如 cuda device0 或 devicecpu根据可用的硬件资源设置workers8数据加载的工作线程数根据系统资源调整projectNone项目名称根据需要自定义nameNone实验名称自定义实验名以便识别exist_okFalse是否覆盖现有实验如果需要重复实验设置为TruepretrainedTrue是否使用预训练模型通常对于新的训练任务保持Trueoptimizer‘auto’优化器可选项SGD, Adam等根据模型和数据集特性选择合适的优化器verboseFalse是否打印详细输出开发和调试时可设为Trueseed0重现性的随机种子需要重现结果时设置确定值deterministicTrue是否启用确定性模式需要确保结果一致性时设置为Truesingle_clsFalse是否将多类数据作为单类训练特定应用场景下调整rectFalse矩形训练每个批次为最小填充特定应用场景下调整cos_lrFalse是否使用余弦学习率调度器根据训练策略调整close_mosaic10关闭马赛克增强的最后周期数根据训练需求调整resumeFalse从最后检查点恢复训练需要从中断的训练继续时设置为TrueampTrue是否使用自动混合精度训练根据硬件支持选择fraction1.0训练的数据集比例如需使用数据集的子集进行训练调整此值profileFalse训练期间记录ONNX和TensorRT速度性能分析时启用freezeNone冻结训练期间的前n层或特定层特定模型调整时使用lr00.01初始学习率根据模型和数据集特性调整lrf0.01最终学习率根据训练策略调整momentum0.937SGD动量/Adam beta1根据优化器类型调整weight_decay0.0005优化器权重衰减通常保持默认值warmup_epochs3.0热身周期数根据模型特性调整warmup_momentum0.8热身初始动量根据训练策略调整warmup_bias_lr0.1热身初始偏置学习率根据训练策略调整box7.5盒子损失增益根据模型特性和训练数据调整cls0.5类别损失增益根据分类任务的复杂性调整dfl1.5DFL损失增益根据具体应用调整pose12.0姿态损失增益仅限姿态仅在姿态检测任务中使用kobj2.0关键点目标损失增益仅限姿态仅在姿态检测任务中使用label_smoothing0.0标签平滑比例根据训练策略调整nbs64标称批量大小根据硬件资源调整overlap_maskTrue掩码在训练期间是否重叠仅限分割训练仅在分割任务中使用mask_ratio4掩码下采样比例仅限分割训练仅在分割任务中使用dropout0.0使用dropout正则化仅限分类训练仅在分类任务中使用valTrue训练期间进行验证/测试通常保持默认plotsFalse训练/验证期间保存图表和图像需要可视化训练过程时设置为True 3.5 训练结果文件说明 训练日志的图表对于评估和理解模型的性能非常重要可以帮助我们分析模型的优势和弱点。 weights 文件夹 best.pt损失值最小的模型文件last.pt训练到最后的模型文件 args.yaml模型训练的配置参数confusion_matrix.png混淆矩阵,展示了分类模型的性能。 每一行代表模型预测的类别每一列代表实际的类别。对角线上的数值表示模型正确预测的数量。对角线上较深的颜色表示该类别预测正确的数量较多。confusion_matrix_normalized.png标准化混淆矩阵显示每个类别的预测正确比例。F1_curve.pngF1-置信度曲线显示了F1得分随着置信度阈值的变化。 F1得分是精确度和召回率的调和平均值曲线的峰值表示给定置信度阈值下精确度和召回率的最佳平衡点。labels.jpg标签分布图和边界框分布图。 柱状图显示了不同类别的实例分布数量。散点图则展示了目标检测任务中边界框的空间分布情况反映了常见的尺寸和长宽比。labels_correlogram.jpg标签相关图 相关图提供了不同类别标签之间的关系以及它们在图像中位置的相关性。这有助于理解模型在识别不同类别时可能出现的关联或混淆。P_curve.png精确度-置信度曲线展示了模型预测的精确度随着置信度阈值的变化。 精确度是模型预测正确正例与预测为正例总数的比值。PR_curve.png精确度-召回曲线展示了模型的精确度与召回率之间的关系。 理想情况下模型应在精确度和召回率之间保持良好的平衡。R_curve.png召回-置信度曲线显示了模型的召回率随置信度阈值的变化。 召回率是模型正确预测的正例与实际正例总数的比值。results.png 和 results.csv训练结果图表和数据 展示了模型在训练过程中的性能变化包括损失函数的变化和评估指标如精确度、召回率和mAP的变化。 4. 模型验证与模型预测 4.1 模型验证 训练后验证。 将训练好的模型 best.pt 保存在项目的根目录并改名为 “yolov8nAquarium.pt”。模型验证程序如下。 from ultralytics import YOLOif __name__ __main__:# 读取模型传入训练好的模型model YOLO(yolov8nAquarium.pt)# 验证模型metrics model.val() # 无需参数使用 best.pt中的配置文件运行模型验证程序结果保存在 “.\runs\detect\val” 文件夹。 C:\Users\Administrator\.conda\envs\yolo8\python.exe C:\Python\PythonProjects\YOLOv8\YOLOv8_val1.py Ultralytics YOLOv8.1.0 Python-3.8.20 torch-2.4.1cu121 CUDA:0 (NVIDIA GeForce RTX 3060, 12288MiB) YOLOv8 summary (fused): 168 layers, 3007013 parameters, 0 gradients, 8.1 GFLOPs val: Scanning C:\Python\PythonProjects\YOLOv8\datasets\Aquarium\labels\val.cache... 127 images, 0 backgrounds, 0 corrupt: 100%|██████████| 127/127 [00:00?, ?it/s]Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 8/8 [00:0100:00, 4.73it/s]all 127 909 0.804 0.697 0.76 0.449fish 127 459 0.804 0.721 0.81 0.449jellyfish 127 155 0.86 0.871 0.926 0.545penguin 127 104 0.746 0.735 0.75 0.331puffin 127 74 0.771 0.568 0.626 0.309shark 127 57 0.773 0.579 0.618 0.386starfish 127 27 0.907 0.704 0.802 0.585stingray 127 33 0.768 0.701 0.785 0.54 Speed: 1.1ms preprocess, 5.8ms inference, 0.0ms loss, 2.2ms postprocess per image Results saved to runs\detect\val24.2 模型预测 训练后验证。 将训练好的模型 best.pt 保存在项目的根目录并改名为 “yolov8nAquarium.pt”。模型预测程序如下。 参数 source 可以是一个或多个图片文件一个视频文件也可以是一个文件夹或视频采集设备。 from ultralytics import YOLOif __name__ __main__:# 读取模型传入训练好的模型model YOLO(yolov8nAquarium.pt)outputs model.predict(source./datasets/Aquarium/images/val, saveTrue) # treat predict as a Python generatorfor output in outputs:# each output here is a dict.# for detectionprint(output[det]) # np.ndarray, (N, 6), xyxy, score, cls运行模型预测程序结果保存在 “.\runs\detect\predict” 文件夹。 【本节完】 版权声明 欢迎关注『youcans动手学模型』系列 转发请注明原文链接 【YOLO 项目实战】11YOLO8 数据集与模型训练 Copyright 2024 youcans Crated2024-12-20
http://www.dnsts.com.cn/news/98294.html

相关文章:

  • 网站 改版 方案企业网络营销案例分析
  • 网站维护的方式有哪几种专业做医药招聘的网站
  • 有哪些做壁纸的网站好百度识图网页版在线
  • 做外包网站小生意是做网站还是公众号
  • 华硕建设公司网站手机必备软件100个
  • 网站制作怎样盈利记账公司
  • 获奖网站设计跨境电商平台有哪些
  • 好看的网站在哪里好找自己怎么个人网站
  • 网站建设课程有哪些收获wordpress大学主题2.7
  • ppt 做的最好的网站制作单页网站多少钱
  • 成都网站优化步骤wordpress5g够不够
  • wordpress优秀网站哪些在线网站可以做系统进化树
  • 开发区全力做好网站建设万能搜索引擎
  • 建站之星模板下载网站求个网站或者app
  • 贵州专业网站建设公司免费网页制作工具下载
  • wordpress手机端网站模板下载黑马程序员项目库
  • 长春网站设计长春网络推广重庆seo代理价格
  • 项目名称企业网站优化包括哪三个层面
  • 福建祥盛建设有限公司网站企业网站优化官网
  • html5导航网站源码wordpress前台登陆界面
  • 美食网站设计论文weekly做网站
  • 中国煤炭建设协网站网站地图提交地址
  • spring mvc 做网站wordpress换鼠标样式
  • 荆门网站seoseo织梦网站建设步骤
  • 哪个网可以网站备案4s店网站建设
  • 网页建站专业公司班级网站建设的系统概述
  • 企业网站备案流程包子店vi设计
  • wordpress多个站点工商局官网登录
  • 网站建设中源码深圳燃气公众号
  • 网站运营工作计划最近出入上海最新规定