Ultralytics YOLOv5 🚀 trên AWS Deep Learning Instance: Hướng dẫn đầy đủ của bạn
Thiết lập một môi trường học sâu hiệu suất cao có vẻ khó khăn, đặc biệt là đối với người mới. Nhưng đừng lo! 🛠️ Hướng dẫn này cung cấp hướng dẫn từng bước để đưa Ultralytics YOLOv5 vào hoạt động trên phiên bản AWS Deep Learning. Bằng cách tận dụng sức mạnh của Amazon Web Services (AWS), ngay cả những người mới làm quen với máy học (ML) cũng có thể bắt đầu nhanh chóng và tiết kiệm chi phí. Khả năng mở rộng của nền tảng AWS khiến nó trở nên lý tưởng cho cả thử nghiệm và triển khai sản xuất.
Các tùy chọn khởi động nhanh khác cho YOLOv5 bao gồm của chúng tôi Google Sổ tay Colab , Môi trường Kaggle
, Máy ảo học sâu GCPvà hình ảnh Docker được dựng sẵn của chúng tôi có sẵn trên Trung tâm Docker
.
Bước 1: Đăng nhập AWS Console
Bắt đầu bằng cách tạo tài khoản hoặc đăng nhập vào AWS Management Console . Sau khi đăng nhập, hãy điều hướng đến bảng điều khiển dịch vụ EC2 , nơi bạn có thể quản lý máy chủ ảo (phiên bản) của mình.
Bước 2: Khởi chạy phiên bản của bạn
Từ bảng điều khiển EC2, nhấp vào nút Launch Instance . Thao tác này sẽ bắt đầu quá trình tạo máy chủ ảo mới phù hợp với nhu cầu của bạn.
Chọn đúng hình ảnh máy Amazon (AMI)
Việc chọn đúng AMI là rất quan trọng. Điều này xác định hệ điều hành và phần mềm được cài đặt sẵn cho phiên bản của bạn. Trong thanh tìm kiếm, hãy nhập ' Deep Learning ' và chọn AMI Deep Learning mới nhất dựa trên Ubuntu (trừ khi bạn có yêu cầu cụ thể cho một hệ điều hành khác). AMI Deep Learning của Amazon được cấu hình sẵn với các khuôn khổ học sâu phổ biến (như PyTorch , được sử dụng bởi YOLOv5 ) và trình điều khiển GPU cần thiết, giúp đơn giản hóa đáng kể quá trình thiết lập.
Chọn một loại phiên bản
Đối với các nhiệm vụ đòi hỏi cao như đào tạo các mô hình học sâu, việc lựa chọn GPU - Loại phiên bản tăng tốc được khuyến khích mạnh mẽ. GPU có thể giảm đáng kể thời gian cần thiết để đào tạo mô hình so với CPU. Khi chọn kích thước phiên bản, hãy đảm bảo dung lượng bộ nhớ (RAM) của phiên bản đó đủ cho mô hình và tập dữ liệu của bạn.
Lưu ý: Kích thước của mô hình và tập dữ liệu của bạn là những yếu tố quan trọng. Nếu tác vụ ML của bạn yêu cầu nhiều bộ nhớ hơn so với phiên bản đã chọn cung cấp, bạn sẽ cần chọn loại phiên bản lớn hơn để tránh các vấn đề về hiệu suất hoặc lỗi.
Khám phá những gì có sẵn GPU các loại phiên bản trên trang Loại phiên bản EC2 , đặc biệt là trong danh mục Điện toán tăng tốc .
Để biết thông tin chi tiết về giám sát và tối ưu hóa GPU sử dụng, hãy tham khảo hướng dẫn của AWS về Giám sát và Tối ưu hóa GPU . So sánh chi phí bằng cách sử dụng Giá theo yêu cầu và khám phá khả năng tiết kiệm với Giá phiên bản Spot .
Cấu hình phiên bản của bạn
Hãy cân nhắc sử dụng Amazon EC2 Spot Instances để có cách tiếp cận tiết kiệm chi phí hơn. Spot Instances cho phép bạn đấu giá dung lượng EC2 chưa sử dụng, thường với mức chiết khấu đáng kể so với giá On-Demand. Đối với các tác vụ yêu cầu tính bền bỉ (lưu dữ liệu ngay cả khi Spot Instance bị gián đoạn), hãy chọn yêu cầu bền bỉ . Điều này đảm bảo dung lượng lưu trữ của bạn được duy trì.
Tiến hành theo các Bước 4-7 của trình hướng dẫn khởi chạy phiên bản để cấu hình lưu trữ, thêm thẻ, thiết lập nhóm bảo mật (đảm bảo cổng SSH 22 được mở từ IP của bạn) và xem lại cài đặt của bạn trước khi nhấp vào Khởi chạy . Bạn cũng sẽ cần tạo hoặc chọn một cặp khóa hiện có để truy cập SSH an toàn.
Bước 3: Kết nối với Instance của bạn
Khi trạng thái phiên bản của bạn hiển thị là 'đang chạy', hãy chọn phiên bản đó từ bảng điều khiển EC2. Nhấp vào Kết nối nút để xem các tùy chọn kết nối. Sử dụng ví dụ lệnh SSH được cung cấp trong terminal cục bộ của bạn (như Terminal trên macOS/Linux hoặc PuTTY/WSL trên Windows) để thiết lập kết nối an toàn. Bạn sẽ cần tệp khóa riêng (.pem
) bạn đã tạo hoặc chọn trong khi khởi chạy.
Bước 4: Chạy Ultralytics YOLOv5
Bây giờ bạn đã kết nối qua SSH, bạn có thể thiết lập và chạy YOLOv5 . Đầu tiên, sao chép chính thức YOLOv5 kho lưu trữ từ GitHub và điều hướng vào thư mục. Sau đó, cài đặt các phụ thuộc cần thiết bằng cách sử dụng pip
. Nên sử dụng một Python Môi trường 3.8 hoặc mới hơn. Các mô hình và tập dữ liệu cần thiết sẽ được tải xuống tự động từ phiên bản mới nhất YOLOv5 giải phóng khi bạn chạy các lệnh như đào tạo hoặc phát hiện.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txt
Với môi trường đã sẵn sàng, bạn có thể bắt đầu sử dụng YOLOv5 cho nhiều nhiệm vụ khác nhau:
# 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
Tham khảo Ultralytics tài liệu hướng dẫn chi tiết về Đào tạo , Xác thực , Dự đoán (Suy luận) và Xuất .
Tùy chọn bổ sung: Tăng bộ nhớ hoán đổi
Nếu bạn đang làm việc với các tập dữ liệu rất lớn hoặc gặp phải giới hạn bộ nhớ trong quá trình đào tạo, đôi khi việc tăng bộ nhớ hoán đổi trên phiên bản của bạn có thể giúp ích. Không gian hoán đổi cho phép hệ thống sử dụng không gian đĩa làm RAM ảo.
# 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
Xin chúc mừng! 🎉 Bạn đã thiết lập thành công phiên bản AWS Deep Learning, đã cài đặt Ultralytics YOLOv5 và sẵn sàng thực hiện các tác vụ phát hiện đối tượng . Cho dù bạn đang thử nghiệm các mô hình được đào tạo trước hay đào tạo trên dữ liệu của riêng mình, thiết lập mạnh mẽ này cung cấp nền tảng có thể mở rộng cho các dự án thị giác máy tính của bạn. Nếu bạn gặp bất kỳ sự cố nào, hãy tham khảo tài liệu AWS mở rộng và hữu ích Ultralytics nguồn tài nguyên cộng đồng như FAQ . Chúc bạn khám phá vui vẻ!