跳至内容

AWS 深度学习实例上的Ultralytics YOLOv5 🚀:完整指南

建立一个高性能的深度学习环境似乎令人生畏,尤其是对于新手来说。但不用担心!🛠️ 本指南提供了一个分步指南,让你轻松获得 Ultralytics YOLOv5并在 AWS 深度学习实例上运行。利用亚马逊网络服务 (AWS) 的强大功能,即使是机器学习 (ML)的新手也可以快速、经济高效地开始学习。AWS 平台的可扩展性使其成为实验和生产部署的理想选择。

YOLOv5 的其他快速启动选项包括我们的 Google Colab 笔记本 在 Colab 中打开, Kaggle 环境 在 Kaggle 中打开, GCP 深度学习虚拟机以及我们预构建的 Docker 映像,可在 Docker Hub Docker 拉动.

步骤 1:登录 AWS 控制台

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

登录 AWS 控制台

第 2 步:启动实例

在 EC2 控制面板上单击 "启动实例"按钮。这将启动根据您的需要创建新虚拟服务器的过程。

启动实例按钮

选择正确的亚马逊机器映像(AMI)

选择正确的 AMI 至关重要。这决定了实例的操作系统和预装软件。在搜索栏中输入"深度学习",然后选择最新的基于 Ubuntu 的深度学习 AMI(除非您对其他操作系统有特殊要求)。亚马逊的深度学习 AMI 预装了流行的深度学习框架(如 PyTorchYOLOv5 使用的GPU )和必要的GPU 驱动程序,大大简化了设置过程。

选择 AMI

选择实例类型

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

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

EC2 Instance Types(EC2 实例类型)页面,特别是加速计算类别下,探索可用的GPU 实例类型

选择实例类型

有关监控和优化GPU 使用的详细信息,请参阅 AWSGPU 监控和优化指南。使用"按需定价 "比较成本,并探索使用 "现货实例定价"节省成本的潜力。

配置您的实例

考虑使用亚马逊 EC2 Spot Instances,以获得更具成本效益的方法。Spot Instances 允许您竞标未使用的 EC2 容量,与按需价格相比,通常会有很大折扣。对于需要持久性(即使 Spot Instance 中断也能保存数据)的任务,请选择持久性请求。这将确保您的存储容量持续存在。

点播请求配置

继续执行实例启动向导的第 4-7 步,配置存储、添加标签、设置安全组(确保 SSH 端口 22 从你的 IP 打开),并在单击 "启动 "之前查看你的设置。您还需要创建或选择一个现有的密钥对,以确保 SSH 访问的安全性。

第 3 步:连接到您的实例

实例状态显示为 "正在运行 "后,从 EC2 面板中选择该实例。点击 连接 按钮查看连接选项。在本地终端(如 macOS/Linux 上的终端或 Windows 上的 PuTTY/WSL)中使用提供的 SSH 命令示例建立安全连接。你需要私钥文件 (.pem)。

连接到实例

步骤 4:运行Ultralytics YOLOv5

现在您已通过 SSH 连接,可以设置并运行YOLOv5。首先,克隆YOLOv5 官方软件仓库,从 GitHub 并导航到该目录。然后,使用 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 文档。

可选附加功能增加交换内存

如果要处理非常大的数据集,或者在训练过程中遇到内存限制,增加实例的交换内存有时会有所帮助。交换空间允许系统将磁盘空间用作虚拟内存。

# 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 深度学习实例,安装了Ultralytics YOLOv5,并准备好执行物体检测任务。无论您是使用预训练模型进行实验,还是在自己的数据上进行训练,这个强大的设置都为您的计算机视觉项目提供了一个可扩展的基础。如果遇到任何问题,请查阅广泛的AWS 文档和有用的Ultralytics 社区资源(如常见问题解答)。检测愉快



📅创建于 1 年前 ✏️已更新 1 个月前

评论