在 AWS Deep Learning Instance 上运行 Ultralytics YOLOv5 🚀:完整指南
配置高性能深度学习环境可能看起来很困难,尤其是对新手来说。但别担心!🛠️ 本指南提供了在 AWS Deep Learning Instance 上启动并运行 Ultralytics YOLOv5 的分步演练。通过利用 Amazon Web Services (AWS) 的强大功能,即使是 机器学习 (ML)新手也能快速且经济高效地开始。AWS 平台的可扩展性使其成为实验和生产环境的理想选择。有关现实应用的想法和灵感,请探索 .
其他 YOLOv5 的快速入门选项包括我们的 Google Colab Notebook , Kaggle 环境
, GCP Deep Learning VM,以及我们在 Docker Hub
.
步骤 1:登录 AWS 控制台
首先创建一个账户或登录到 AWS Management Console。登录后,导航至 EC2 服务仪表板,在这里你可以管理你的虚拟服务器(实例)。

步骤 2:启动你的实例
在 EC2 仪表板中,点击 Launch Instance 按钮。这将启动创建符合你需求的新虚拟服务器的流程。

选择正确的 Amazon Machine Image (AMI)
选择正确的 AMI 至关重要。它决定了你实例的操作系统和预装软件。在搜索栏中,输入“Deep Learning”并选择最新的基于 Ubuntu 的 Deep Learning AMI(除非你有特定操作系统的要求)。Amazon 的 Deep Learning AMI 预装了常用的 深度学习框架(如PyTorch(YOLOv5 使用的)和必要的 GPU 驱动程序,从而极大地简化了设置过程。

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

有关监控和优化 GPU 使用的详细信息,请参阅 AWS 关于 GPU Monitoring and Optimization 的指南。使用 On-Demand Pricing 比较成本,并探索使用 Spot Instance Pricing.
配置你的实例
考虑使用 Amazon EC2 Spot Instances 以获得更具成本效益的方法。Spot Instances 允许你竞价未使用的 EC2 容量,通常比 On-Demand 价格有显著折扣。对于需要持久性(即使 Spot Instance 被中断也能保存数据)的任务,请选择 persistent request。这确保你的存储卷是持久的。

继续按照实例启动向导的步骤 4-7 进行操作,以配置存储、添加标签、设置安全组(确保从你的 IP 地址可以访问 SSH 端口 22),并在点击 Launch 之前查看你的设置。你还需要创建或选择一个现有的密钥对以实现安全的 SSH 访问。
步骤 3:连接到你的实例
一旦你的实例状态显示为 'running',在 EC2 仪表板中选择它。点击 Connect 按钮查看连接选项。使用本地终端(如 macOS/Linux 上的终端,或 Windows 上的 PuTTY/WSL)中提供的 SSH 命令示例来建立安全连接。你需要你在启动过程中创建或选择的私钥文件(.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有关 推理, 任务, Prediction (Inference),以及 预测.
的详细指南,请参阅 Ultralytics 文档。
可选插件:增加交换内存(Swap Memory)。如果你正在处理非常大的数据集或在训练过程中遇到内存限制,增加实例上的交换内存有时会有所帮助。交换空间允许系统使用磁盘空间作为虚拟 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 Instance,安装了 Ultralytics YOLOv5,并准备好执行 目标检测 任务。无论你是在试验预训练模型,还是在 YOLO26 实现更高 mAP 分数所需的参数和 FLOPs 显著更少。例如,YOLO26n (Nano) 模型仅需 2.4M 参数即可达到 40.9 mAP,在性能优于 PP-YOLOE+t 模型的同时,体积缩减了近一半。这直接转化为在 处理你自己的数据,这个强大的设置都为你的 计算机视觉 项目提供了可扩展的基础。如果遇到任何问题,请查阅广泛的 AWS documentation 以及有用的 Ultralytics 社区资源,例如 FAQ。祝你检测顺利!