Ultralytics YOLOv5 🚀 trên AzureML Quickstart

Chào mừng bạn đến với hướng dẫn bắt đầu nhanh Ultralytics YOLOv5 cho Microsoft Azure Machine Learning (AzureML)! Hướng dẫn này sẽ đưa bạn qua các bước thiết lập YOLOv5 trên một compute instance của AzureML, bao gồm mọi thứ từ việc tạo môi trường ảo đến huấn luyện và chạy suy luận với model.

Azure là gì?

Azure là nền tảng cloud computing toàn diện của Microsoft. Nó cung cấp một loạt các dịch vụ bao gồm sức mạnh tính toán, cơ sở dữ liệu, công cụ phân tích, các khả năng machine learning và các giải pháp mạng. Azure cho phép các tổ chức xây dựng, triển khai và quản lý các ứng dụng và dịch vụ thông qua các trung tâm dữ liệu được Microsoft quản lý, giúp tạo điều kiện thuận lợi cho việc di chuyển khối lượng công việc từ cơ sở hạ tầng tại chỗ lên đám mây.

Azure Machine Learning (AzureML) là gì?

Azure Machine Learning (AzureML) là một dịch vụ đám mây chuyên dụng được thiết kế để phát triển, huấn luyện và triển khai các machine learning model. Nó cung cấp một môi trường cộng tác với các công cụ phù hợp cho các kỹ sư dữ liệu và nhà phát triển ở mọi cấp độ kỹ năng. Các tính năng chính bao gồm automated machine learning (AutoML), giao diện kéo thả để tạo model và một Python SDK mạnh mẽ để kiểm soát chi tiết hơn vòng đời ML. AzureML đơn giản hóa quá trình nhúng predictive modeling vào các ứng dụng.

Điều kiện tiên quyết

Để thực hiện theo hướng dẫn này, bạn cần có một Azure subscription đang hoạt động và quyền truy cập vào một AzureML workspace. Nếu bạn chưa thiết lập workspace, vui lòng tham khảo Azure documentation chính thức để tạo một cái.

Tạo một Compute Instance

Một compute instance trong AzureML cung cấp máy trạm dựa trên đám mây được quản lý dành cho các nhà khoa học dữ liệu.

  1. Điều hướng đến workspace AzureML của bạn.
  2. Trên ngăn bên trái, chọn Compute.
  3. Chuyển đến tab Compute instances và nhấp vào New.
  4. Cấu hình instance của bạn bằng cách chọn tài nguyên CPU hoặc GPU phù hợp dựa trên nhu cầu huấn luyện hoặc suy luận của bạn.
Azure ML create compute instance interface

Mở Terminal

Sau khi compute instance của bạn đang chạy, bạn có thể truy cập terminal của nó trực tiếp từ AzureML studio.

  1. Đi tới phần Notebooks trong ngăn bên trái.
  2. Tìm compute instance của bạn trong menu thả xuống ở trên cùng.
  3. Nhấp vào tùy chọn Terminal bên dưới trình duyệt tệp để mở giao diện dòng lệnh cho instance của bạn.

Vị trí nút mở terminal Azure ML

Thiết lập và Chạy YOLOv5

Bây giờ, hãy thiết lập môi trường và chạy Ultralytics YOLOv5.

1. Tạo một môi trường ảo

Sử dụng môi trường ảo để quản lý các phụ thuộc là một phương pháp tốt nhất. Chúng ta sẽ sử dụng Conda, đã được cài đặt sẵn trên các compute instance của AzureML. Để biết hướng dẫn thiết lập Conda chi tiết, hãy xem Conda Quickstart Guide của Ultralytics.

Tạo một môi trường Conda (ví dụ: yolov5env) với một phiên bản Python cụ thể và kích hoạt nó:

conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env                     # Activate the environment
conda install pip -y                         # Ensure pip is installed

2. Sao chép repository YOLOv5

Sao chép repository Ultralytics YOLOv5 chính thức từ GitHub bằng cách sử dụng Git:

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5                                       # Navigate into the directory
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursive

3. Cài đặt các phụ thuộc

Cài đặt các gói Python cần thiết được liệt kê trong tệp requirements.txt. Chúng ta cũng cài đặt ONNX để có các khả năng xuất model.

pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0"      # Install ONNX for exporting

4. Thực hiện các tác vụ YOLOv5

Với việc thiết lập đã hoàn tất, giờ đây bạn có thể huấn luyện, kiểm chứng, thực hiện suy luận và xuất model YOLOv5 của mình.

  • Huấn luyện model trên tập dữ liệu như COCO128. Xem tài liệu Training Mode để biết thêm chi tiết.

    # Start training using yolov5s pretrained weights on the COCO128 dataset
    python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16
  • Kiểm chứng hiệu suất của model đã huấn luyện bằng cách sử dụng các chỉ số như Precision, RecallmAP. Xem hướng dẫn Validation Mode để biết các tùy chọn.

    # Validate the yolov5s model on the COCO128 validation set
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640
  • Chạy suy luận trên các hình ảnh hoặc video mới. Khám phá tài liệu Prediction Mode cho nhiều nguồn suy luận khác nhau.

    # Run inference with yolov5s on sample images
    python detect.py --weights yolov5s.pt --source data/images --img 640
  • Xuất model sang các định dạng khác nhau như ONNX, TensorRT hoặc CoreML để triển khai. Tham khảo hướng dẫn Export Mode và trang ONNX Integration.

    # Export yolov5s to ONNX format
    python export.py --weights yolov5s.pt --include onnx --img 640

Sử dụng Notebook

Nếu bạn thích trải nghiệm tương tác, bạn có thể chạy các lệnh này trong AzureML Notebook. Bạn sẽ cần tạo một IPython kernel tùy chỉnh được liên kết với môi trường Conda của mình.

Tạo một IPython Kernel mới

Chạy các lệnh sau trong terminal compute instance của bạn:

# Ensure your Conda environment is active
# conda activate yolov5env

# Install ipykernel if not already present
conda install ipykernel -y

# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"

Sau khi tạo kernel, hãy làm mới trình duyệt của bạn. Khi bạn mở hoặc tạo tệp notebook .ipynb, chọn kernel mới của bạn ("Python (yolov5env)") từ menu thả xuống của kernel ở phía trên bên phải.

Chạy các lệnh trong Notebook Cells

  • Python Cells: Code trong các ô Python sẽ tự động thực thi bằng cách sử dụng kernel yolov5env đã chọn.

  • Bash Cells: Để chạy các lệnh shell, hãy sử dụng lệnh magic %%bash ở đầu ô. Hãy nhớ kích hoạt môi trường Conda của bạn trong mỗi ô bash, vì chúng không tự động kế thừa bối cảnh môi trường kernel của notebook.

    %%bash
    source activate yolov5env # Activate environment within the cell
    
    # Example: Run validation using the activated environment
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640

Chúc mừng! Bạn đã thiết lập và chạy thành công Ultralytics YOLOv5 trên AzureML. Để khám phá thêm, hãy xem xét việc kiểm tra các Ultralytics Integrations khác hoặc tài liệu chi tiết về YOLOv5. Bạn cũng có thể thấy AzureML documentation hữu ích cho các kịch bản nâng cao như huấn luyện phân tán hoặc triển khai model dưới dạng endpoint.

Bình luận