Deep Learning VM 上部署与训练 Ultralytics YOLOv5 完整指南)
在 Google Cloud PlatformGCPDeep Learning VM 上部署与训练 Ultralytics YOLOv5 完整指南【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics这篇技术指南以 Ultralytics YOLOv5 部署指南 为骨架系统讲解如何在 Google Cloud Platform 的 Deep Learning VM深度学习虚拟机上完成环境创建、YOLOv5 安装、模型训练、验证、推理、导出以及自定义数据集训练与 Google Cloud Storage 云存储集成的完整流程。读完本文你将掌握一套从零搭建云端 GPU 目标检测训练环境、并把训练产物沉淀到云存储的实战方案无论是 ML 入门者还是有经验的工程师都可以直接照做。为什么选择 GCP Deep Learning VM 运行 YOLOv5将 人工智能AI 与机器学习工作负载迁移到云端最直接的价值在于你无需为 GPU 硬件一次性投入巨额成本而是按需租用一台预装了数据科学与深度学习工具链的虚拟机。GCP 面向 ML 场景提供了Deep Learning VM这是一种开箱即用的镜像化虚拟机方案预装了大量数据科学/深度学习必备组件。在 Ultralytics 生态中YOLOv5 是经典的实时目标检测模型系列YOLOv5 模型总览 中指出本仓库同时承载了采用无锚框anchor-free检测头演进的 YOLOv5u 系列。将两者结合你可以在 GCP 上实现从实验到部署的完整闭环。本文所讲的部署路径来自本仓库 docs/en/yolov5 文档树中的环境教程体系。如果你希望先对比其他环境Ultralytics 也提供了互补的快速上手方案浏览器即开即用Google Colab Notebook无需管理任何基础设施AWSAWS Deep Learning 实例快速上手教程适合已在亚马逊云生态中的用户AzureAzureML 快速上手教程容器化Docker 镜像快速上手指南 与通用 Ultralytics Docker 快速指南提供完全封装、可复现的运行环境。此外GCP 官方会为新用户提供免费试用额度教程撰写时提示为 300 美元请以 GCP 官方最新条款为准可用于低成本启动你的第一个深度学习项目。Step 1创建并配置 Deep Learning VM第一步是在 GCP 上开通一台面向深度学习优化的虚拟机操作要点如下进入GCP Marketplace云市场选择Deep Learning VM镜像。实例规格选择n1-standard-8它提供 8 个 vCPU 与 30 GB 内存的均衡配置足以覆盖大量 ML 训练任务。按需选择GPU 加速卡。具体型号取决于你的工作负载即便是入门级的 T4 GPU也能显著加速模型训练。勾选Install NVIDIA GPU driver automatically on first startup?首次启动自动安装 NVIDIA GPU 驱动省去手动装驱动的繁琐步骤。分配300 GB SSD 持久化磁盘Persistent Disk避免因磁盘 I/O 成为训练瓶颈。点击Deploy部署等待 GCP 完成资源配置。这台 Deep Learning VM 会预装核心工具与框架其中包括AnacondaPython 发行版它自带了许多 YOLOv5 运行所需的依赖包。换句话说创建完成后你离跑通训练只差克隆仓库 安装依赖两步。Step 2准备 VM 环境——克隆 YOLOv5 并安装依赖通过 SSH 登录到这台 VM 后执行以下命令拉取 YOLOv5 仓库并安装全部依赖# 克隆 YOLOv5 仓库 git clone https://github.com/ultralytics/yolov5 cd yolov5 # 安装依赖 pip install -r requirements.txt这里的环境约束与 YOLOv5 快速上手教程 中的描述一致需要Python 3.8.0 及以上版本与PyTorch 1.8 及以上版本。完成安装后YOLOv5 的各脚本会自动从最新 release 中下载 模型权重 与数据集无需手工搬运权重文件即可开始训练。关于克隆哪个仓库的说明train.py / val.py / detect.py / export.py这套命令行入口属于独立的 ultralytics/yolov5 仓库。而本仓库ultralytics monorepo提供的是统一 Python API/CLI 的 YOLOv5u 变体——例如YOLO(yolov5su.pt)加载、yolo train modelyolov5su.pt ...调用其权重列表与用法见 YOLOv5 模型文档。本文按原教程环境独立 yolov5 仓库的脚本入口为主线展开涉及统一库的部分会单独标注。Step 3在 GCP VM 上完成训练、验证、推理与导出环境就绪后就可以在这台 GCP VM 上执行 YOLOv5 的四大核心操作# 训练在自定义数据集上训练模型示例为 yolov5s python train.py --data coco128.yaml --weights yolov5s.pt --img 640 # 验证检查训练后模型的 Precision、Recall 与 mAP python val.py --weights yolov5s.pt --data coco128.yaml # 推理用训练好的模型对图片或视频执行目标检测 python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos # 导出将模型导出为 ONNX、CoreML、TFLite 等多种格式以便部署 python export.py --weights yolov5s.pt --include onnx coreml tflite--data指定数据集配置文件YAML。以coco128.yaml为例它是 COCO train2017 前 128 张图像的轻量子集本仓库镜像了一份同名的数据集定义于 ultralytics/cfg/datasets/coco128.yaml其结构包含path、train、val、test与 80 个类别名的names列表详见 COCO128 数据集文档。--weights指定预训练权重如yolov5s.pt或空值从零训练--img指定输入图像边长训练/验证/推理/导出时的尺度需保持一致。上面几行命令覆盖了 Train 训练模式、Val 验证模式、Predict 推理模式 与 Export 导出模式 的核心能力你既可以基于预训练权重做开箱即用的目标检测也可以针对自身业务训练定制模型。导出得到 ONNX、CoreML、TFLite 等格式后可进一步参考 模型部署选项指南 选择适合生产环境的落地方式。训练自定义数据集在 GCP VM 上针对私有数据集训练 YOLOv5可遵循以下通用流程按 YOLOv5 数据格式准备数据集组织图像与其对应的标签文件每张图一个同名的.txt标注文件每行记录class x_center y_center width height。具体规范参考 数据集总览。将数据集上传到 VM使用gcloud compute scp命令或通过网页控制台的 SSH 文件传输功能上传。编写数据集配置 YAML创建custom_dataset.yaml在其中指定训练集与验证集的路径、类别数量nc以及类别名称names。可参考上文 ultralytics/cfg/datasets/coco128.yaml 的字段组织方式用path声明数据集根目录train/val声明相对路径下的图片子集。基于预训练权重开始训练例如从yolov5s.pt迁移学习训练 100 轮# 示例在自定义数据集上训练 YOLOv5s共 100 轮 python train.py --img 640 --batch 16 --epochs 100 --data custom_dataset.yaml --weights yolov5s.pt这里--batch 16是批大小--epochs 100是训练轮数均应根据 GPU 显存与数据规模调整更大 batch 通常能提升训练稳定性与吞吐但受显存上限约束。关于数据预处理与自定义训练的更完整说明请查阅 Train 训练模式文档如果你打算在本仓库的统一 API 体系下做同样的工作也可以对照 训练自定义数据教程 理解数据组织的核心约定。为超大数据集分配 Swap 交换空间可选当训练数据量特别大、可能超过 VM 物理内存时建议启用 swap 交换空间以避免内存溢出OOM错误。Linux 会把磁盘的一部分当作虚拟内存使用充当内存的应急池# 分配一个 64GB 的交换文件大小可按需调整 sudo fallocate -l 64G /swapfile # 设置交换文件权限 sudo chmod 600 /swapfile # 将文件格式化为 Linux swap 区 sudo mkswap /swapfile # 启用该交换文件 sudo swapon /swapfile # 验证交换空间应看到 swap 内存增加 free -h两点实践提示swap 本质是用磁盘换取不崩溃速度远慢于物理内存仅作为数据加载峰值时的兜底方案不应替代合理的内存规划fallocate命令在部分文件系统上可能失败可改用sudo dd if/dev/zero of/swapfile bs1G count64生成同等大小的文件随后执行同样的mkswap / swapon流程使其生效。借助 Google Cloud Storage 管理数据与模型当数据集庞大、实验众多时把数据长期保存在 VM 本地磁盘并不经济。更推荐的做法是将 YOLOv5 工作流与Google Cloud StorageGCS集成——GCS 对象存储安全、成本可控且不随 VM 生命周期而丢失特别适合保存数据集与训练中间产物# 确保已安装并初始化 Google Cloud SDK # 若未安装curl https://sdk.cloud.google.com/ | bash # 然后初始化gcloud init # 示例把 GCS 桶中的数据集拷贝到 VM 本地 gsutil cp -r gs://your-data-bucket/my_dataset ./datasets/ # 示例把训练得到的模型权重从 VM 回传到 GCS 桶 gsutil cp -r ./runs/train/exp/weights gs://your-models-bucket/yolov5_custom_weights/采用这种方式后大数据集与训练好的模型都能安全、廉价地保存在云端对象存储中VM 本地只需保留正在处理的数据从而把实例磁盘占用降到最低。一个典型的循环是从 GCS 拉数据 → 在 GPU VM 上训练 → 把runs/train/exp/weights下的best.pt/last.pt回传 GCS → 释放或关机 VM实现数据与算力的解耦。后续进阶路径与总结至此你已经把 Ultralytics YOLOv5 与 GCP 的弹性算力结合起来打通了从环境创建、训练验证到模型导出的完整链路这套云端方案具备按需伸缩、高效可靠等特性既适合个人探索与学术研究也能支撑起工业级目标检测应用解决方案索引 中列出了大量可直接参考的落地场景。在此基础上你还可以尝试无代码训练体验Ultralytics Platform 提供了可视化的数据集管理与模型训练托管能力可与本文的脚本化路径互补将训练产物交给部署环节结合 模型部署选项指南 与 导出模式 评估 ONNX/TensorRT 等格式在不同推理硬件上的表现若只想在本地/浏览器快速验证模型可参考 YOLOv5 快速上手 中基于 PyTorch Hub 加载模型与detect.py多源推理的示例。最后提醒训练结束后及时释放不再使用的 VM并结合 GCS 持久化你的数据与权重让云上成本始终处于可控范围。现在就可以在 GCP Deep Learning VM 上让 YOLOv5 为你的计算机视觉项目跑起来。【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考