掌握在 Google 云平台 (GCP) 深度学习 VM 上部署 YOLOv5#
踏上人工智能 (AI)和机器学习 (ML)之旅可能令人兴奋不已,尤其是当你借助云计算平台的强大功能和灵活性时。Google 云平台 (GCP) 为 ML 爱好者和专业人士提供了功能强大且量身定制的工具。其中一个工具就是深度学习 VM,它已预先配置,可用于数据科学和 ML 任务。在本教程中,我们将介绍如何在 GCP 深度学习 VM 上设置 Ultralytics YOLOv5。无论你是刚开始接触 ML,还是经验丰富的从业者,本指南都将为你使用 YOLOv5 驱动的目标检测模型提供清晰的实施路径。
🆓 此外,如果你是 GCP 新用户,还可以享受$300 免费额度优惠,为你的项目起步助力。
除了 GCP,你还可以探索其他适用于 YOLOv5 的便捷快速入门选项,例如我们的 Google Colab 笔记本 ,通过浏览器即可使用;或者选择 Amazon AWS 的可扩展性。此外,容器爱好者还可以使用我们在 Docker Hub
上提供的官方 Docker 镜像,获得隔离的运行环境,并参考我们的 Docker 快速入门指南。
步骤 1:创建并配置深度学习 VM#
首先创建一个针对深度学习进行优化的虚拟机:
- 前往 GCP Marketplace,然后选择 深度学习 VM。
- 选择 n1-standard-8 实例;它提供 8 个 vCPU 和 30 GB 内存之间的平衡,适合许多 ML 任务。
- 选择一个 GPU。具体选择取决于你的工作负载;即使是基础的 T4 GPU,也能显著加快模型训练速度。
- 勾选“首次启动时自动安装 NVIDIA GPU 驱动程序?”复选框,以实现顺畅的设置过程。
- 分配一个 300 GB SSD Persistent Disk,以避免出现 I/O 瓶颈。
- 点击“部署”,然后等待 GCP 配置你的自定义深度学习 VM。
此 VM 预装了必要的工具和框架,包括 Anaconda Python 发行版,它将许多 YOLOv5 所需的依赖项打包在一起,使用起来非常方便。

步骤 2:为 YOLOv5 准备 VM#
环境设置完成后,接下来安装 YOLOv5 并做好使用准备:
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install dependencies
pip install -r requirements.txt此设置过程可确保你使用的是 3.8.0 或更高版本的 Python 环境,以及 1.8 或更高版本的 PyTorch。我们的脚本会自动从最新的 YOLOv5 版本下载模型和数据集,简化模型训练的启动过程。
步骤 3:训练并部署你的 YOLOv5 模型#
设置完成后,你就可以在 GCP VM 上使用 YOLOv5 进行训练、验证、预测和导出:
# Train a YOLOv5 model on your dataset (e.g., yolov5s)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the trained model to check Precision, Recall, and mAP
python val.py --weights yolov5s.pt --data coco128.yaml
# Run inference using the trained model on images or videos
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite只需使用几条命令,YOLOv5 就能让你训练符合特定需求的自定义目标检测模型,或使用预训练权重在各种任务中快速获得结果。导出后,你可以探索不同的模型部署选项。

分配交换空间(可选)#
如果你处理的数据集特别大,可能会超出虚拟机的 RAM,请考虑添加交换空间以防止内存错误:
# Allocate a 64GB swap file
sudo fallocate -l 64G /swapfile
# Set the correct permissions for the swap file
sudo chmod 600 /swapfile
# Set up the Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap space allocation (should show increased swap memory)
free -h训练自定义数据集#
要在 GCP 中使用自定义数据集训练 YOLOv5,请遵循以下一般步骤:
-
按照 YOLOv5 格式准备数据集(图像及其对应的标签文件)。如需指导,请参阅我们的数据集概览。
-
使用
gcloud compute scp或 Web 控制台的 SSH 功能,将数据集上传到 GCP VM。 -
创建数据集配置 YAML 文件(
custom_dataset.yaml),指定训练数据和验证数据的路径、类别数量以及类别名称。 -
使用自定义数据集 YAML 开始训练过程,并可以选择从预训练权重开始:
# Example: Train YOLOv5s on a custom dataset for 100 epochs python train.py --img 640 --batch 16 --epochs 100 --data custom_dataset.yaml --weights yolov5s.pt
有关准备数据和使用自定义数据集进行训练的完整说明,请参阅 Ultralytics YOLOv5 训练文档。
利用云存储#
为了高效管理数据,尤其是在处理大型数据集或进行大量实验时,请将 YOLOv5 工作流与 Google Cloud Storage 集成:
# Ensure Google Cloud SDK is installed and initialized
# If not installed: curl https://sdk.cloud.google.com/ | bash
# Then initialize: gcloud init
# Example: Copy your dataset from a GCS bucket to your VM
gsutil cp -r gs://your-data-bucket/my_dataset ./datasets/
# Example: Copy trained model weights from your VM to a GCS bucket
gsutil cp -r ./runs/train/exp/weights gs://your-models-bucket/yolov5_custom_weights/这种方式可以让你在云端安全且经济高效地存储大型数据集和训练好的模型,同时减少 VM 实例所需的存储空间。
总结#
恭喜你!现在,你已经能够结合 Google 云平台的计算能力,充分利用 Ultralytics YOLOv5 的功能。这种设置可为你的目标检测项目提供可扩展性、高效性和灵活性。无论是个人探索、学术研究,还是构建工业解决方案,你都已经在云端 AI 和 ML 的世界中迈出了重要一步。
你可以考虑使用 Ultralytics Platform,以无代码的简便方式训练和管理模型。
记得记录你的进展,与充满活力的 Ultralytics 社区分享见解,并利用 GitHub 讨论等资源进行协作和获取支持。现在,继续使用 YOLOv5 和 GCP 开展创新吧!
想继续提升 ML 技能吗?深入阅读我们的文档,并探索 Ultralytics 博客,获取更多教程和见解。继续你的 AI 探索之旅吧!