YOLO Vision 2026:

Ultralytics YOLOv5 🚀:AWS Deep Learning 实例完整指南#

设置高性能深度学习环境可能令人望而生畏,尤其是对初学者而言。但别担心!🛠️ 本指南将分步介绍如何在 AWS Deep Learning 实例上运行Ultralytics YOLOv5。借助 Amazon Web Services (AWS) 的强大能力,即使是刚接触机器学习 (ML)的用户,也能快速且经济高效地开始使用。AWS 平台的可扩展性使其非常适合实验和生产部署

YOLOv5 的其他快速入门选项包括我们的 Google Colab 笔记本 Open In ColabKaggle 环境 Open In KaggleGCP Deep Learning VM,以及我们在 Docker Hub Docker Pulls 上提供的预构建 Docker 镜像。

第 1 步:登录 AWS 控制台#

首先创建账户或登录 AWS 管理控制台。登录后,进入 EC2 服务控制面板,在这里你可以管理虚拟服务器(实例)。

AWS 管理控制台登录页面

第 2 步:启动实例#

在 EC2 控制面板中,点击 Launch Instance 按钮。这将开始创建符合你需求的新虚拟服务器。

Launch Instance 按钮

选择合适的 Amazon Machine Image (AMI)#

选择正确的 AMI 至关重要,因为它决定了实例的操作系统和预安装软件。在搜索栏中输入 '深度学习',然后选择最新的基于 Ubuntu 的 Deep Learning AMI(除非你对其他操作系统有特定要求)。Amazon 的 Deep Learning AMI 已预配置常用的深度学习框架(例如 YOLOv5 使用的 PyTorch)和必需的 GPU 驱动程序,可以显著简化设置过程。

AWS EC2 Deep Learning AMI 选择

选择实例类型#

对于训练深度学习模型等高负载任务,强烈建议选择 GPU 加速的实例类型。与 CPU 相比,GPU 可以大幅缩短模型训练所需的时间。选择实例大小时,请确保其内存容量(RAM)足以满足你的模型和数据集需求。

注意: 模型和数据集的大小是关键因素。如果你的 ML 任务所需内存超过所选实例提供的容量,则需要选择更大的实例类型,以避免性能问题或错误。

EC2 实例类型页面上查看可用的 GPU 实例类型,尤其是 Accelerated Computing 类别下的类型。

AWS EC2 GPU 实例类型选择

有关监控和优化 GPU 使用情况的详细信息,请参阅 AWS 的 GPU 监控和优化指南。使用按需定价比较成本,并通过竞价型实例定价探索潜在的节省空间。

配置实例#

可以考虑使用 Amazon EC2 Spot Instances,以更经济高效地运行任务。Spot Instances 允许你竞价购买未使用的 EC2 容量,其价格通常比按需价格低很多。对于需要持久性的任务(即使 Spot Instance 被中断也要保存数据),请选择 persistent request。这样可以确保你的存储卷持久保留。

Spot Request 配置

继续完成实例启动向导中的第 4-7 步,配置存储、添加标签、设置安全组(确保从你的 IP 地址开放 SSH 端口 22),并在点击 Launch 前检查设置。你还需要创建或选择一个现有密钥对,以便安全地通过 SSH 访问。

第 3 步:连接到实例#

当实例状态显示为 'running' 后,从 EC2 控制面板中选中它。点击 Connect 按钮查看连接选项。在本地终端中使用系统提供的 SSH 命令示例(macOS/Linux 上的 Terminal,或 Windows 上的 PuTTY/WSL)建立安全连接。你需要使用在启动过程中创建或选择的私钥文件(.pem)。

AWS EC2 实例 SSH 连接选项

第 4 步:运行 Ultralytics YOLOv5#

现在你已经通过 SSH 连接,可以设置并运行 YOLOv5。首先从 GitHub 克隆官方 YOLOv5 仓库,并进入该目录。然后,使用 pip 安装所需依赖。建议使用 Python 3.8 或更高版本的环境。当你运行训练或检测等命令时,所需的模型和数据集会自动从最新的 YOLOv5 版本下载。

# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5

# Install required packages
pip install -r requirements.txt

环境准备就绪后,你可以开始使用 YOLOv5 执行各种任务:

# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640

# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640

# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640

# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640

请参阅 Ultralytics 文档,了解训练验证预测(推理)导出的详细指南。

可选操作:增加交换空间#

如果你正在处理非常大的数据集,或在训练期间遇到内存限制,增加实例上的交换空间有时会有所帮助。交换空间允许系统使用磁盘空间作为虚拟 RAM。

# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile

# Set correct permissions
sudo chmod 600 /swapfile

# Set up the file as a Linux swap area
sudo mkswap /swapfile

# Enable the swap file
sudo swapon /swapfile

# Verify the swap memory is active
free -h

恭喜!🎉 你已成功设置 AWS Deep Learning 实例、安装 Ultralytics YOLOv5,现在可以执行目标检测任务了。无论你是在试验预训练模型,还是使用自己的数据进行训练,这个强大的设置都能为你的计算机视觉项目提供可扩展的基础。如果遇到任何问题,请查阅详尽的 AWS 文档以及 Ultralytics 社区提供的实用资源,例如 FAQ。祝你检测愉快!

评论