Ultralytics YOLOv5 🚀:AWS Deep Learning 实例完整指南#
设置高性能深度学习环境可能令人望而生畏,尤其是对初学者而言。但别担心!🛠️ 本指南将分步介绍如何在 AWS Deep Learning 实例上运行Ultralytics YOLOv5。借助 Amazon Web Services (AWS) 的强大能力,即使是刚接触机器学习 (ML)的用户,也能快速且经济高效地开始使用。AWS 平台的可扩展性使其非常适合实验和生产部署。
YOLOv5 的其他快速入门选项包括我们的 Google Colab 笔记本 、Kaggle 环境
、GCP Deep Learning VM,以及我们在 Docker Hub
上提供的预构建 Docker 镜像。
第 1 步:登录 AWS 控制台#
首先创建账户或登录 AWS 管理控制台。登录后,进入 EC2 服务控制面板,在这里你可以管理虚拟服务器(实例)。

第 2 步:启动实例#
在 EC2 控制面板中,点击 Launch Instance 按钮。这将开始创建符合你需求的新虚拟服务器。

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

选择实例类型#
对于训练深度学习模型等高负载任务,强烈建议选择 GPU 加速的实例类型。与 CPU 相比,GPU 可以大幅缩短模型训练所需的时间。选择实例大小时,请确保其内存容量(RAM)足以满足你的模型和数据集需求。
注意: 模型和数据集的大小是关键因素。如果你的 ML 任务所需内存超过所选实例提供的容量,则需要选择更大的实例类型,以避免性能问题或错误。
在 EC2 实例类型页面上查看可用的 GPU 实例类型,尤其是 Accelerated Computing 类别下的类型。

有关监控和优化 GPU 使用情况的详细信息,请参阅 AWS 的 GPU 监控和优化指南。使用按需定价比较成本,并通过竞价型实例定价探索潜在的节省空间。
配置实例#
可以考虑使用 Amazon EC2 Spot Instances,以更经济高效地运行任务。Spot Instances 允许你竞价购买未使用的 EC2 容量,其价格通常比按需价格低很多。对于需要持久性的任务(即使 Spot Instance 被中断也要保存数据),请选择 persistent request。这样可以确保你的存储卷持久保留。

继续完成实例启动向导中的第 4-7 步,配置存储、添加标签、设置安全组(确保从你的 IP 地址开放 SSH 端口 22),并在点击 Launch 前检查设置。你还需要创建或选择一个现有密钥对,以便安全地通过 SSH 访问。
第 3 步:连接到实例#
当实例状态显示为 'running' 后,从 EC2 控制面板中选中它。点击 Connect 按钮查看连接选项。在本地终端中使用系统提供的 SSH 命令示例(macOS/Linux 上的 Terminal,或 Windows 上的 PuTTY/WSL)建立安全连接。你需要使用在启动过程中创建或选择的私钥文件(.pem)。

第 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。祝你检测愉快!