掌握在 Google Cloud Platform (GCP) 深度学习虚拟机上部署 YOLOv5#
踏上人工智能 (AI)和机器学习 (ML)的旅程令人兴奋,特别是当你利用云计算平台的强大功能和灵活性时。Google Cloud Platform (GCP) 提供了为 ML 爱好者和专业人士量身定制的强大工具。其中一个工具就是 Deep Learning VM,它针对数据科学和 ML 任务进行了预配置。在本教程中,我们将带你走完在 GCP Deep Learning VM 上设置 Ultralytics YOLOv5 的全过程。无论你是刚踏入 ML 领域的新手还是经验丰富的从业者,本指南都为你提供了一条清晰的途径来实现由 YOLOv5 驱动的目标检测模型。
🆓 另外,如果你是 GCP 的新用户,你可以享受 $300 免费额度优惠来启动你的项目,非常幸运。
除了 GCP,还可以探索 YOLOv5 的其他便捷快速入门选项,例如我们的 Google Colab 笔记本 (提供基于浏览器的体验),或者 Amazon AWS 的可扩展性。此外,容器爱好者可以利用我们在 Docker Hub
上提供的官方 Docker 镜像来获取封装环境,并参考我们的Docker 快速入门指南。
第 1 步:创建并配置你的深度学习虚拟机#
让我们首先创建一个针对深度学习优化的虚拟机:
- 导航至 GCP 市场并选择 Deep Learning VM。
- 选择一个 n1-standard-8 实例;它平衡了 8 个 vCPU 和 30 GB 内存,适合许多机器学习任务。
- 选择一个 GPU。选择取决于你的工作负载;即使是基础的 T4 GPU 也能显著加速模型训练。
- 勾选“在首次启动时自动安装 NVIDIA GPU 驱动程序?”复选框,以实现无缝设置。
- 分配 300 GB 的 SSD 永久磁盘,以防止 I/O 瓶颈。
- 点击“部署”并让 GCP 配置你的自定义深度学习虚拟机。
此 VM 预装了必要的工具和框架,包括 Anaconda Python 发行版,它方便地打包了 YOLOv5 所需的许多依赖项。

第 2 步:为 YOLOv5 准备虚拟机#
环境设置完成后,让我们安装 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 环境以及 PyTorch 1.8 或更高版本。我们的脚本会自动从最新的 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或网页控制台的 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/这种方法允许你在云端安全且经济高效地存储大数据集和训练好的模型,从而最大限度地减少虚拟机实例的存储需求。
结语#
恭喜!你现在具备了利用 Ultralytics YOLOv5 结合 Google Cloud Platform 计算能力的能力。此设置动感且多功能,可为你的目标检测项目提供可扩展性、效率和多功能性。无论是用于个人探索、学术研究还是构建工业级解决方案,你都已经在云端 AI 和 ML 领域迈出了重要一步。
考虑使用 Ultralytics Platform 获取精简的无代码体验,以训练和管理你的模型。
记得记录你的进展,与充满活力的 Ultralytics 社区分享见解,并利用诸如 GitHub 讨论之类的资源来进行协作和获得支持。现在,快去使用 YOLOv5 和 GCP 进行创新吧!
想要继续提升你的 ML 技能?深入阅读我们的文档,并探索 Ultralytics 博客以获取更多教程和见解。让你的 AI 之旅继续前行!