Chuyển đến nội dung

Ultralytics YOLOv5 🚀 trên AWS Deep Learning Instance: Hướng dẫn Hoàn chỉnh 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 đối với những người mới bắt đầu. Nhưng đừng lo lắng! 🛠️ Hướng dẫn này cung cấp hướng dẫn từng bước để thiết lập và chạy Ultralytics YOLOv5 trên một 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à hiệu quả về chi phí. Tính khả năng mở rộng của nền tảng AWS làm cho 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 Sổ tay Google Colab Mở Trong Colab, Môi trường Kaggle Mở Trong Kaggle, GCP Deep Learning VM, và ảnh Docker được xây dựng sẵn của chúng tôi có sẵn trên Docker Hub Lượt Pull Docker.

Bước 1: Đăng nhập Bảng điều khiển AWS

Bắt đầu bằng cách tạo một tài khoản hoặc đăng nhập vào AWS Management Console. Sau khi đăng nhập, hãy chuyển đến bảng điều khiển dịch vụ EC2, nơi bạn có thể quản lý các máy chủ ảo (phiên bản) của mình.

Đăng nhập AWS Console

Bước 2: Khởi chạy Instance của bạn

Từ bảng điều khiển EC2, hãy nhấp vào nút Khởi chạy phiên bản. Thao tác này sẽ bắt đầu quá trình tạo một máy chủ ảo mới phù hợp với nhu cầu của bạn.

Nút Khởi Chạy Instance

Chọn Amazon Machine Image (AMI) Phù Hợp

Việc chọn AMI chính xác 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 instance của bạn. Trong thanh tìm kiếm, hãy nhập 'Deep Learning' và chọn Deep Learning AMI dựa trên Ubuntu mới nhất (trừ khi bạn có các yêu cầu cụ thể cho một hệ điều hành khác). Deep Learning AMI của Amazon được cấu hình sẵn với các khung deep learning 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 AMI

Chọn một loại phiên bản

Đối với các tác vụ đòi hỏi khắt khe như huấn luyện các mô hình deep learning, bạn nên chọn loại phiên bản tăng tốc GPU. GPU có thể giảm đáng kể thời gian cần thiết để huấn luyện 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 nó đủ cho mô hình và bộ dữ liệu của bạn.

Lưu ý: Kích thước mô hình và bộ 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 mức phiên bản đã chọn cung cấp, bạn sẽ cần chọn một 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á các loại phiên bản GPU có sẵn trên trang EC2 Instance Types, đặc biệt là trong danh mục Accelerated Computing.

Chọn Loại Instance

Để biết thông tin chi tiết về giám sát và tối ưu hóa việc sử dụng GPU, 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á các khoản tiết kiệm tiềm năng với Giá phiên bản Spot.

Cấu Hình Instance Của Bạn

Cân nhắc sử dụng Amazon EC2 Spot Instances để có cách tiếp cận hiệu quả về chi phí hơn. Spot Instances cho phép bạn đấu giá dung lượng EC2 chưa sử dụng, thường được giảm giá đáng kể so với giá On-Demand. Đối với các tác vụ yêu cầu tính liên tục (lưu dữ liệu ngay cả khi Spot Instance bị gián đoạn), hãy chọn persistent request (yêu cầu liên tục). Điều này đảm bảo ổ lưu trữ của bạn được duy trì.

Cấu hình Yêu cầu Điểm

Tiến hành theo Bước 4-7 của trình hướng dẫn khởi chạy phiên bản để định cấu hình bộ nhớ, 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 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 instance của bạn hiển thị là 'running', hãy chọn nó từ dashboard EC2. Nhấn 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 tư (.pem) bạn đã tạo hoặc chọn trong khi khởi chạy.

Kết nối với Instance

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, hãy sao chép kho lưu trữ YOLOv5 chính thức từ GitHub và điều hướng vào thư mục đó. Sau đó, cài đặt các dependency cần thiết bằng cách sử dụng pip. Bạn nên sử dụng Python môi trường 3.8 trở lên. Các mô hình và bộ dữ liệu cần thiết sẽ được tự động tải xuống từ YOLOv5 mới nhất phát hành khi bạn chạy các lệnh như huấn luyện 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

Khi môi trường đã sẵn sàng, bạn có thể bắt đầu sử dụng YOLOv5 cho nhiều tác 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 tài liệu Ultralytics để có hướng dẫn chi tiết về Huấn luyện (Training), Xác thực (Validation), Dự đoán (Suy luận - Inference)Xuất (Exporting).

Các tùy chọn bổ sung: Tăng bộ nhớ Swap

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 các hạn chế về bộ nhớ trong quá trình huấn luyện, việc tăng bộ nhớ swap trên phiên bản của bạn đôi khi có thể giúp ích. Không gian swap cho phép hệ thống sử dụng dung lượng đĩ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 đã cài đặt thành công một instance AWS Deep Learning, cài đặt Ultralytics YOLOv5 và sẵn sàng thực hiện các nhiệm vụ phát hiện đối tượng. Cho dù bạn đang thử nghiệm với các mô hình đã được huấn luyện trước hoặc huấn luyện trên dữ liệu của riêng bạn, thiết lập mạnh mẽ này cung cấp nền tảng có khả năng 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ỳ vấn đề nào, hãy tham khảo tài liệu AWS mở rộng và các tài nguyên cộng đồng Ultralytics hữu ích như FAQ. Chúc bạn phát hiện vui vẻ!



📅 Đã tạo 1 năm trước ✏️ Cập nhật 4 tháng trước

Bình luận