掌握YOLOv5 在Google 平台 (GCP) 深度学习虚拟机上的部署
踏上人工智能(AI)和机器学习(ML)的征程是令人振奋的,尤其是当您利用云计算平台的强大功能和灵活性时。Google 平台(GCP)为机器学习爱好者和专业人士提供了强大的工具。深度学习虚拟机(Deep Learning VM)就是这样一款工具,它已为数据科学和 ML 任务进行了预配置。在本教程中,我们将介绍如何设置 Ultralytics YOLOv5的过程。无论您是初次接触 ML,还是经验丰富的实践者,本指南都将为您提供一条清晰的路径,帮助您实现由YOLOv5 支持的对象检测模型。
🆓 另外,如果您是 GCP 的新用户,您将有幸获得 300 美元的免费信用额度来启动您的项目。
除 GCP 外,还可探索YOLOv5 的其他可访问的快速入门选项,如我们的 Google Colab 笔记本 基于浏览器的体验,或 亚马逊 AWS.此外,容器爱好者可以使用我们的官方 Docker 镜像,该镜像可在 Docker Hub
我们的 Docker 快速入门指南.
第 1 步:创建和配置深度学习虚拟机
首先,让我们创建一个专为深度学习优化的虚拟机:
- 导航至GCP 市场并选择深度学习虚拟机。
- 选择n1-standard-8实例;它提供 8 个 vCPU 和 30 GB 内存,适合许多 ML 任务。
- 选择一个 GPU.选择取决于您的工作量;即使是基本的 T4GPU 也能显著加快模型训练。
- 勾选 "首次启动时自动安装NVIDIA )GPU 驱动程序?
- 分配一个 300 GB SSD 持久磁盘,以防止出现 I/O 瓶颈。
- 点击 "部署",让 GCP 配置您的自定义深度学习虚拟机。
该虚拟机预装了必要的工具和框架,包括Anaconda Python 发行版,它方便地捆绑了YOLOv5 的许多必要依赖项。
第 2 步:为YOLOv5准备虚拟机
设置好环境后,让我们安装并准备好YOLOv5 :
# Clone the YOLOv5 repository from GitHub
git clone https://github.com/ultralytics/yolov5
# Navigate into the cloned repository directory
cd yolov5
# Install the required Python packages listed in requirements.txt
pip install -r requirements.txt
此设置过程可确保您的Python 环境版本为 3.8.0 或更新版本,且 PyTorch1.8 或更高版本。我们的脚本会自动从最新的YOLOv5 版本中下载模型和数据集,从而简化了开始模型训练的过程。
步骤 3:培训和部署YOLOv5 模型
设置完成后,您就可以在 GCP 虚拟机上使用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 就能根据您的特定需求训练自定义对象检测模型,或利用预训练的权重在各种任务中快速获得结果。在导出后探索不同的模型部署选项。
分配交换空间(可选)
如果您处理的数据集特别大,可能超出虚拟机的内存,请考虑增加交换空间,以防止内存出错:
# 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 格式准备数据集(图像和相应的标签文件)。请参阅我们的数据集概述以获取指导。
- 使用以下命令将数据集上传至 GCP 虚拟机
gcloud compute scp
或网络控制台的 SSH 功能。 - 创建数据集配置 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 Train 文档。
利用云存储
为了实现高效的数据管理,尤其是大型数据集或众多实验的数据管理,请将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 平台计算能力的能力。这种设置为您的物体检测项目提供了可扩展性、高效性和多功能性。无论是用于个人探索、学术研究,还是构建工业解决方案,您都已经在云计算的人工智能和 ML 领域迈出了重要的一步。
考虑使用Ultralytics HUB,以简化的无代码体验来训练和管理您的模型。
请记住记录您的进展,与充满活力的Ultralytics 社区分享您的见解,并利用GitHub 讨论等资源进行协作和支持。现在,使用YOLOv5 和 GCP 去创新吧!
想继续提高您的 ML 技能?深入了解我们的文档,浏览Ultralytics 博客,获取更多教程和见解。让您的人工智能探险继续下去!