YOLOv8从零部署实战:一小时搞定环境搭建、自定义数据集训练与模型推理
2026/7/5 12:45:11 网站建设 项目流程

这次我们来看一个从零开始部署 YOLOv8 的实战项目。如果你正在寻找一个能在本地快速跑通、支持训练自己数据集的计算机视觉目标检测方案,这篇文章就是为你准备的。YOLOv8 由 Ultralytics 团队维护,是目前最流行的实时目标检测框架之一,它不仅支持检测,还覆盖了实例分割、姿态估计、分类等多种任务。对于开发者、学生和研究者来说,它的核心吸引力在于:上手快、功能全、社区活跃

本文的核心目标是让你在一小时内,从零完成 YOLOv8 的环境搭建、模型训练和推理测试。我们会重点关注几个关键点:环境配置的坑怎么避、训练自己的数据集需要准备什么、显存占用大概多少、以及如何用最简单的代码验证效果。整个过程不绕弯,直接给步骤和命令,确保你能跟着做出来。

1. 核心能力速览

在动手之前,我们先快速了解 YOLOv8 的核心特性,这决定了它是否适合你的项目。

能力项说明
项目类型开源计算机视觉模型框架,支持目标检测、实例分割、姿态估计、分类等任务。
开源团队Ultralytics
主要功能图像/视频推理、模型训练、验证、导出(支持 PyTorch, ONNX, TensorRT 等格式)。
推荐硬件GPU(推荐):NVIDIA GPU(支持 CUDA),显存建议 4GB 以上。CPU(可用):支持纯 CPU 推理和训练,但速度较慢。
显存占用参考推理:YOLOv8n 模型约占用 1-2GB 显存(640x640 分辨率)。训练:占用与批次大小(batch size)和图像尺寸正相关,小模型(如 yolov8n)在 batch=8, imgsz=640 时,显存占用约 3-5GB。
支持平台Windows, Linux, macOS。支持 Python 3.8+。
启动/使用方式主要通过 Python API 或命令行接口(CLI)调用,无官方图形界面(GUI),但社区有基于 Gradio 的 WebUI 项目。
是否支持 API是。可通过 Pythonultralytics包直接调用,也支持将模型导出为 ONNX/TensorRT 后集成到其他服务中。
是否支持批量任务是。训练和推理均支持批量处理图像和视频。
适合场景学术研究、工业视觉检测(缺陷、计数)、安防监控、移动端/边缘设备部署、快速原型验证。

从表格可以看出,YOLOv8 对硬件的要求相对友好,尤其是小模型(如yolov8n.pt)在消费级显卡(如 RTX 3060 6G)上也能流畅运行和训练。它的 Python API 设计得非常简洁,几行代码就能完成训练和预测,这是它快速流行的关键。

2. 适用场景与使用边界

YOLOv8 是一个强大的工具,但明确它的边界能帮你更好地决策。

它非常适合以下场景:

  1. 快速验证想法:你有一些标注好的图片,想快速训练一个目标检测模型看看效果。
  2. 工业视觉质检:检测产品表面的划痕、污点、缺失零件等。
  3. 安防与监控:行人、车辆、特定物品的检测与计数。
  4. 学术研究与教学:学习目标检测流程,复现或对比算法性能。
  5. 移动端/嵌入式部署:模型可以导出为 ONNX、TensorRT、NCNN 等格式,部署到资源受限的设备。

它可能不适合或需要额外注意的场景:

  1. 超大规模数据集训练:对于千万级图像的数据集,YOLOv8 的原生训练循环可能不是最高效的,可能需要结合分布式训练框架。
  2. 需要极低延迟(<1ms):虽然 YOLOv8 很快,但若要求亚毫秒级延迟,需要深入的模型剪枝、量化和硬件级优化。
  3. 复杂的自定义网络结构:YOLOv8 的架构是固定的。如果你想大幅修改骨干网络或检测头,可能需要直接修改源码,有一定门槛。

使用边界与合规提醒:

  • 数据合规:用于训练的数据集必须确保拥有合法版权或已获得授权。严禁使用涉及个人隐私、肖像权未授权的数据。
  • 应用合规:将模型用于人脸识别、行为分析等场景时,必须严格遵守相关法律法规,确保用途合法合规,并考虑伦理影响。
  • 模型版权:YOLOv8 模型基于 AGPL-3.0 和商业许可证。在商业项目中使用时,请仔细阅读并遵守 Ultralytics 的许可协议。

3. 环境准备与前置条件

开始之前,请确保你的系统满足以下基本条件。我们将以Windows 11 + Anaconda环境为例,Linux/macOS 用户操作类似,主要区别在于包管理命令。

1. 操作系统

  • Windows 10/11, Ubuntu 18.04+, macOS 12+ 均可。本文演示环境为 Windows 11。

2. Python 环境

  • Python 3.8 - 3.11(推荐 3.9 或 3.10)。Python 3.12 可能存在部分包兼容性问题,建议暂缓使用。
  • 包管理工具:强烈推荐使用condavenv创建独立的虚拟环境,避免包冲突。

3. 深度学习框架

  • PyTorch:YOLOv8 基于 PyTorch。需要根据你的 CUDA 版本安装对应的 PyTorch。
  • CUDA 和 cuDNN(仅 GPU 用户需要):
    • 查看你的 NVIDIA 显卡驱动支持的 CUDA 最高版本(通过nvidia-smi命令)。
    • 前往 PyTorch 官网 获取安装命令。例如,对于 CUDA 11.8,命令可能是pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

4. 硬件要求

  • GPU(推荐):任何支持 CUDA 的 NVIDIA GPU。显存 ≥ 4GB 可流畅运行小模型训练和推理。RTX 3060 6G/12G、RTX 4060 8G 等都是性价比之选。
  • CPU:仅 CPU 模式也可运行,但训练速度会慢很多,适合轻量推理或学习。
  • 内存:建议 ≥ 8GB。
  • 磁盘空间:至少预留 5-10GB 空间用于安装包、下载预训练模型和存储数据集。

环境检查清单:在开始安装前,打开你的终端(Windows 用 Anaconda Prompt 或 PowerShell),依次运行以下命令进行验证:

# 1. 检查 Python 版本 python --version # 应输出 Python 3.8.x - 3.11.x # 2. 检查 conda 是否可用(如果使用 conda) conda --version # 3. (GPU用户)检查 CUDA 版本和 GPU 状态 nvidia-smi # 此命令会显示 GPU 信息及驱动支持的 CUDA 最高版本(例如 CUDA 12.4) # 4. 检查 PyTorch 是否安装及 CUDA 是否可用(如果已安装) python -c "import torch; print(f'PyTorch version: {torch.__version__}'); print(f'CUDA available: {torch.cuda.is_available()}')"

如果torch.cuda.is_available()返回True,恭喜,你的 GPU 环境已就绪。如果返回False,请检查 CUDA 和 PyTorch 版本是否匹配,或暂时使用 CPU 模式进行后续步骤。

4. 安装部署与启动方式

YOLOv8 的安装极其简单,主要通过 pip 安装ultralytics包。我们将在虚拟环境中完成。

步骤 1:创建并激活虚拟环境使用 conda 创建环境可以更好地隔离依赖。

# 创建一个名为 yolov8 的 Python 3.10 环境 conda create -n yolov8 python=3.10 -y # 激活环境 conda activate yolov8

步骤 2:安装 Ultralytics YOLOv8在激活的yolov8环境中,使用 pip 安装。

pip install ultralytics

这个命令会自动安装ultralytics包及其所有依赖,包括合适的 PyTorch 版本(如果没有安装的话)。如果你想指定 PyTorch 版本,建议先按上一节的方法安装 PyTorch,再安装ultralytics

步骤 3:验证安装安装完成后,运行一个快速验证脚本,确保核心功能正常。

# 将以下代码保存为 test_install.py 并运行 from ultralytics import YOLO import torch print(f"Ultralytics YOLOv8 安装成功!") print(f"PyTorch 版本: {torch.__version__}") print(f"CUDA 是否可用: {torch.cuda.is_available()}") if torch.cuda.is_available(): print(f"GPU 设备: {torch.cuda.get_device_name(0)}") # 尝试加载一个最小的预训练模型(会自动下载) try: model = YOLO('yolov8n.pt') print("预训练模型加载成功!") except Exception as e: print(f"模型加载失败: {e}")

在终端中运行:

python test_install.py

如果看到“预训练模型加载成功!”且正确显示了 GPU 信息,说明环境配置完全正确。首次运行会从 Ultralytics 服务器下载yolov8n.pt模型文件(约 6MB),请保持网络通畅。

至此,YOLOv8 的核心环境已经部署完成。它没有传统的“启动”按钮,其使用方式就是通过 Python 脚本或命令行调用,我们接下来就进入实战。

5. 功能测试与效果验证

安装好了,我们先不急着训练,用官方预训练模型快速跑一个推理,感受一下速度和效果。这是验证环境是否真正可用的最快方法。

5.1 快速图像推理测试

我们将使用最小的yolov8n模型对一张示例图片进行目标检测。

1. 准备测试图片你可以使用任何一张包含常见物体(人、车、狗等)的图片。这里我们直接使用 Ultralytics 内置的示例图片,或者从网上下载一张。假设我们有一张名为test_image.jpg的图片放在当前目录。

2. 运行推理脚本创建一个 Python 文件,例如inference_demo.py,写入以下代码:

from ultralytics import YOLO import cv2 # 1. 加载预训练模型(自动下载 yolov8n.pt) model = YOLO('yolov8n.pt') # 也可以使用 yolov8s.pt, yolov8m.pt 等 # 2. 指定图片路径 source = 'test_image.jpg' # 替换为你的图片路径,或使用 'https://ultralytics.com/images/bus.jpg' # 3. 执行推理 results = model(source, save=True, save_txt=False) # save=True 保存带标注的图片,save_txt=True 会保存标签文件 # 4. 打印结果摘要 for result in results: boxes = result.boxes # 检测框对象 print(f"检测到 {len(boxes)} 个目标") if len(boxes) > 0: # 打印前5个目标的类别和置信度 for i, box in enumerate(boxes): cls_id = int(box.cls[0]) conf = float(box.conf[0]) cls_name = result.names[cls_id] print(f" 目标 {i+1}: {cls_name} ({conf:.2f})") # 显示图片(需要 OpenCV) annotated_frame = result.plot() # 获取绘制了检测框的图片 cv2.imshow('YOLOv8 Inference', annotated_frame) cv2.waitKey(0) # 按任意键关闭窗口 cv2.destroyAllWindows() print("推理完成!带检测结果的图片已保存到 'runs/detect/predict' 目录下。")

3. 执行与观察在终端运行:

python inference_demo.py

预期结果与成功判断:

  • 控制台输出:会显示下载模型(如果第一次运行)的进度,然后打印检测到的目标数量和类别信息,例如检测到 5 个目标
  • 窗口弹出:会弹出一个窗口显示画了检测框的图片。
  • 文件生成:在当前目录下会生成runs/detect/predict文件夹,里面保存了标注好的结果图片。
  • 显存占用:同时,你可以打开任务管理器(Windows)或nvidia-smi(Linux)观察 GPU 显存占用。运行yolov8n推理单张图片,显存占用通常很低,在 1GB 左右。

如果以上都正常,说明你的 YOLOv8 推理环境完全没问题。

5.2 视频流或摄像头实时检测(可选)

如果你想测试实时性能,可以使用摄像头。修改上面的source参数即可:

# 使用摄像头(索引0通常为默认摄像头) source = 0 # 或者使用视频文件 # source = 'path/to/your/video.mp4' results = model(source, show=True, conf=0.5) # show=True 实时显示,conf 为置信度阈值

Esc键可以退出实时显示。观察帧率(FPS),在 GPU 上,yolov8n处理 640p 视频流达到 100+ FPS 是很轻松的。

6. 准备与训练自己的数据集

这是核心环节。我们将一步步创建一个自定义数据集,并训练一个专属的 YOLOv8 模型。

6.1 数据集格式:YOLO 格式

YOLOv8 训练需要的数据集格式是标准的YOLO 格式。目录结构如下:

your_dataset/ ├── images/ │ ├── train/ # 训练集图片 │ │ ├── image1.jpg │ │ └── ... │ └── val/ # 验证集图片 │ ├── image100.jpg │ └── ... └── labels/ ├── train/ # 训练集标签(与图片同名,后缀为 .txt) │ ├── image1.txt │ └── ... └── val/ # 验证集标签 ├── image100.txt └── ...

标签文件(.txt)格式:每行代表一个目标,格式为:class_id center_x center_y width height

  • class_id: 类别索引(从 0 开始)。
  • center_x, center_y, width, height: 边界框的中心点坐标和宽高,必须是归一化后的值(即除以图片宽度和高度后的值,范围在 0 到 1 之间)。

例如,一张 640x480 的图片中有一个目标,其边界框左上角为 (100, 120),右下角为 (300, 400),类别 id 为 0,则计算如下:

  • center_x = (100 + 300) / 2 / 640 = 400 / 2 / 640 = 0.3125
  • center_y = (120 + 400) / 2 / 480 = 520 / 2 / 480 = 0.5417
  • width = (300 - 100) / 640 = 200 / 640 = 0.3125
  • height = (400 - 120) / 480 = 280 / 480 = 0.5833标签文件内容为:0 0.3125 0.5417 0.3125 0.5833

6.2 使用标注工具(以 LabelImg 为例)

手动标注推荐使用LabelImgCVAT等工具。这里以 LabelImg 为例:

  1. 安装 LabelImg:pip install labelImg
  2. 启动: 在终端输入labelImg打开软件。
  3. 设置
    • Open Dir打开图片目录。
    • Change Save Dir设置标签保存目录。
    • 在右侧将标注格式改为YOLO
  4. 标注:使用w键创建矩形框,框选目标,输入类别名称。保存后会自动生成对应的.txt文件。

小技巧:对于大量数据,可以考虑使用半自动标注工具,先用预训练的 YOLOv8 模型对图片进行初步推理生成标签,再进行人工修正,可以极大提升效率。

6.3 创建数据集配置文件(data.yaml)

在数据集根目录(your_dataset/)下创建一个data.yaml文件,用于告诉 YOLOv8 数据的路径和类别。

# data.yaml path: /absolute/path/to/your_dataset # 数据集的绝对路径,也可以用相对路径(相对于训练脚本运行目录) train: images/train # 训练集图片的相对路径(相对于 path) val: images/val # 验证集图片的相对路径 # 类别数量和名称 nc: 2 # 类别的数量,例如 2 表示有 2 类 names: ['cat', 'dog'] # 类别名称列表,顺序必须与 class_id 对应

示例:如果你的数据集放在D:/projects/my_cat_dog_dataset,那么path就写这个路径,trainval是相对于它的路径。

6.4 启动训练

准备好数据和配置文件后,训练只需要一行命令。我们使用 CLI(命令行)方式,它比 Python API 更简洁。

打开终端,激活yolov8环境,导航到你的项目目录。

# 基础训练命令 yolo task=detect mode=train model=yolov8n.pt data=your_dataset/data.yaml epochs=100 imgsz=640 batch=16 workers=4

参数解释:

  • task=detect: 指定任务为检测(detect)。也可以是segment(分割)、pose(姿态)、classify(分类)。
  • mode=train: 训练模式。
  • model=yolov8n.pt: 指定基础模型。这里从yolov8n.pt(预训练权重)开始微调。你也可以从头训练model=yolov8n.yaml,但微调收敛更快。
  • data=.../data.yaml: 指向你的数据集配置文件。
  • epochs=100: 训练轮数。
  • imgsz=640: 输入图片缩放到的尺寸。
  • batch=16: 批次大小。这是影响显存占用的关键参数!如果显存不足(Out of Memory),请降低batch(如改为 8、4、2)。
  • workers=4: 数据加载的线程数。Windows 下可能需设置为 0 或 1 以避免多进程问题。

训练过程观察:命令执行后,会开始下载预训练模型(如果本地没有),然后开始训练。终端会实时打印每个 epoch 的损失(box_loss, cls_loss, dfl_loss)和评估指标(mAP50, mAP50-95)。 训练日志和模型权重会自动保存在runs/detect/train目录下,每次训练会创建一个新的递增文件夹(如train2,train3)。

如何判断训练是否正常?

  1. 损失下降box_loss,cls_loss等训练损失应随着 epoch 增加总体呈下降趋势。
  2. 指标上升:验证集的mAP50mAP50-95应逐步上升。
  3. 无报错:没有出现CUDA out of memory等错误。

如果出现显存不足(OOM),立即中断训练(Ctrl+C),降低batchimgsz后重新开始。

6.5 使用训练好的模型进行推理

训练完成后,最佳模型权重会保存在runs/detect/train/weights/best.pt。使用它进行推理:

# 使用训练好的最佳模型进行推理 yolo task=detect mode=predict model=runs/detect/train/weights/best.pt source=your_test_image.jpg save=True

或者用 Python API:

from ultralytics import YOLO # 加载训练好的模型 model = YOLO('runs/detect/train/weights/best.pt') # 推理 results = model('your_test_image.jpg', save=True)

7. 资源占用与性能观察

了解资源占用情况,有助于你规划硬件和优化参数。

1. 显存占用分析显存占用主要受以下因素影响:

  • 模型尺寸yolov8n<yolov8s<yolov8m<yolov8l<yolov8x。模型越大,参数量(Params)和计算量(FLOPs)越高,显存占用越大。
  • 输入图像尺寸(imgsz)imgsz越大,占用的显存越多。640 是常用尺寸。
  • 批次大小(batch):这是最直接影响显存的参数。batch翻倍,显存占用也大致翻倍。
  • 训练 or 推理:训练模式因为要保存梯度等中间变量,显存占用远大于推理模式。

实测参考(RTX 3060 12GB, imgsz=640):

  • 推理yolov8n单张图片,显存占用约 1.2GB。
  • 训练yolov8nbatch=16, 显存占用约 4.5GB;batch=32, 显存占用约 7GB。

监控命令:

  • Windows:任务管理器 -> 性能 -> GPU。
  • Linux:在另一个终端运行watch -n 1 nvidia-smi

2. 训练速度与性能训练速度受 GPU 算力、CPU 数据加载速度、磁盘 I/O 共同影响。

  • GPU 利用率:使用nvidia-smi查看Volatile GPU-Util,理想情况应持续在 80% 以上。如果很低,可能是数据加载(workers)或 CPU 成了瓶颈。
  • 训练时间预估:在 COCO 数据集上,用yolov8n训练 100 epoch 可能需要几小时到一天不等,取决于你的硬件和数据量。自己的小数据集(几百张图)会快很多。

优化建议:

  • 显存不足:降低batch,降低imgsz,使用更小的模型(如yolov8n)。
  • GPU 利用率低:增加workers(Linux/macOS 有效),使用 SSD 硬盘,确保batch不是太小。
  • 训练慢:确认使用了 GPU 训练(检查device参数,默认为 GPU)。如果只能用 CPU,耐心是唯一解。

8. 模型导出与部署

训练好的 PyTorch 模型(.pt)可以直接用于推理,但为了提升部署效率或适配不同平台,需要导出为其他格式。

常用导出命令:

# 导出为 ONNX 格式(广泛支持的中间格式) yolo export model=runs/detect/train/weights/best.pt format=onnx # 导出为 TensorRT 引擎(NVIDIA GPU 极致性能) yolo export model=runs/detect/train/weights/best.pt format=engine # 导出为 OpenVINO 格式(Intel CPU/GPU) yolo export model=runs/detect/train/weights/best.pt format=openvino # 导出为 CoreML 格式(Apple 设备) yolo export model=runs/detect/train/weights/best.pt format=coreml

导出后,你会得到best.onnx,best.engine等文件。这些文件可以集成到 C++, C#, Python (ONNX Runtime, TensorRT API), Android, iOS 等平台的应用中。

以 ONNX 推理为例(Python):

import cv2 import numpy as np import onnxruntime as ort # 1. 加载 ONNX 模型 session = ort.InferenceSession('best.onnx', providers=['CUDAExecutionProvider', 'CPUExecutionProvider']) input_name = session.get_inputs()[0].name output_name = session.get_outputs()[0].name # 2. 预处理图片 img = cv2.imread('test.jpg') img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_resized = cv2.resize(img_rgb, (640, 640)) input_data = img_resized.transpose(2, 0, 1).astype(np.float32) / 255.0 # HWC to CHW, 归一化 input_data = np.expand_dims(input_data, axis=0) # 添加 batch 维度 # 3. 推理 outputs = session.run([output_name], {input_name: input_data}) # 4. 后处理 outputs (这里简化,实际需解析 YOLO 输出) print(outputs[0].shape)

9. 常见问题与排查方法

在部署和训练过程中,你可能会遇到以下问题。这里提供快速排查思路。

问题现象可能原因排查方式解决方案
CUDA out of memory1. 批次大小 (batch) 或图像尺寸 (imgsz) 太大。
2. 模型太大。
3. 其他程序占用显存。
1. 运行nvidia-smi查看显存占用。
2. 尝试将batch减半。
1. 降低batch(如 16->8)。
2. 降低imgsz(如 640->320)。
3. 关闭不必要的图形界面或程序。
4. 换用更小的模型 (yolov8n)。
训练时 GPU 利用率很低(<30%)1. 数据加载是瓶颈 (workers设置不当)。
2.batch太小。
3. CPU 性能不足。
1. 观察训练日志,看数据加载时间。
2. 监控 CPU 使用率。
1. 适当增加workers(Linux 可设 8, Windows 建议 0 或 1)。
2. 使用 SSD 硬盘存放数据集。
3. 确保batch不是 1。
ImportError: No module named 'ultralytics'未在正确的 Python 环境中安装ultralytics在终端输入python进入交互模式,尝试import ultralytics1. 确认已激活虚拟环境(如conda activate yolov8)。
2. 在目标环境中重新安装:pip install ultralytics
训练损失(loss)不下降或为 NaN1. 学习率 (lr0) 设置不当。
2. 数据标注有严重错误。
3. 数据集类别数 (nc) 与data.yaml不匹配。
1. 检查data.yamlncnames是否正确。
2. 可视化部分训练数据,检查标注框是否合理。
1. 使用默认学习率(通常没问题)。
2. 仔细检查数据集,确保标签文件格式和内容正确。
3. 从一个非常小的数据集(如 10 张图)开始训练,看 loss 是否正常下降。
推理结果全是错的或没有框1. 训练不充分(epoch 太少)。
2. 数据集质量太差或类别不平衡。
3. 推理时用的模型不对。
1. 查看训练日志中验证集 mAP 是否在提升。
2. 用训练集图片做推理,看效果。
1. 增加训练 epoch。
2. 清洗数据,确保每类有足够样本(建议每类至少 100-200 张)。
3. 确认推理代码加载的是best.pt而非预训练模型。
RuntimeError: DataLoader worker (pid(s) xxx) exited unexpectedlyWindows 系统下多进程数据加载的问题。查看错误日志。将训练命令中的workers参数设置为0

10. 最佳实践与使用建议

根据经验,遵循以下建议可以让你更顺利地使用 YOLOv8:

  1. 从小开始,快速迭代:第一次训练新数据集时,先用yolov8n.pt和少量数据(50-100 张)、较少的 epoch(如 50)跑一个快速试验。验证流程通顺后,再使用全量数据和更大模型。
  2. 数据质量至上:标注数据的质量直接决定模型上限。确保边界框紧密贴合目标,类别标注正确,避免漏标和错标。
  3. 合理划分数据集:通常按 8:1:1 或 7:2:1 划分训练集、验证集和测试集。确保各类别在训练集和验证集中分布均匀。
  4. 保留实验记录:每次训练都会在runs/detect/train下生成新文件夹。里面包含了权重、日志、配置和可视化结果。为每次实验添加备注(如修改了哪些参数),方便回溯和比较。
  5. 善用预训练权重:除非有特殊原因,否则永远从预训练模型(.pt)开始微调,而不是从头训练(.yaml)。这能极大加快收敛速度并提升最终精度。
  6. 关注验证集指标:不要只看训练损失下降,更要关注验证集的mAP50mAP50-95。当验证集指标不再提升时,可能意味着过拟合,可以考虑早停(early stopping)。
  7. 部署前优化:对于生产环境,务必导出为 ONNX 或 TensorRT 格式并进行性能测试。PyTorch 的.pt文件在服务端推理效率可能不是最优的。
  8. 版本管理:注意ultralytics包的版本更新可能带来 API 变化。对于重要项目,建议在requirements.txt中固定版本号,例如ultralytics==8.0.xx

整个过程从环境搭建到训练出自己的模型,核心步骤清晰:安装环境 -> 验证推理 -> 准备数据 -> 配置训练 -> 启动训练 -> 验证结果。YOLOv8 的简洁设计让这些步骤变得非常直接。最容易踩的坑通常是环境配置(CUDA版本)和数据集格式(YOLO格式的归一化坐标)。只要这两点搞定,一小时内成功部署并跑通训练是完全可行的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询