Ultralytics YOLO27:

Ultralytics YOLOv5 🚀 trên AzureML: Hướng dẫn bắt đầu nhanh#

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

Azure là gì?#

Azure là nền tảng điện toán đám mây toàn diện của Microsoft. Nền tảng này cung cấp nhiều loại dịch vụ, bao gồm năng lực tính toán, cơ sở dữ liệu, công cụ phân tích, 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ý ứng dụng cũng như dịch vụ thông qua các trung tâm dữ liệu do Microsoft quản lý, hỗ trợ di chuyển workload từ hạ tầng tại chỗ lên cloud.

Azure Machine Learning (AzureML) là gì?#

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

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

Để làm theo hướng dẫn này, bạn cần một gói đăng ký Azure đang hoạt động và quyền truy cập vào một workspace AzureML. Nếu chưa thiết lập workspace, hãy tham khảo tài liệu Azure chính thức để tạo workspace.

Tạo Compute Instance#

Compute instance trong AzureML cung cấp một workstation trên cloud được quản lý dành cho data scientist.

  1. Đi đến workspace AzureML của bạn.
  2. Trong 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 bằng cách chọn tài nguyên CPU hoặc GPU phù hợp với nhu cầu huấn luyện hoặc inference của bạn.
Azure ML create compute instance interface

Mở Terminal#

Sau khi compute instance khởi chạy, bạn có thể truy cập trực tiếp vào terminal từ AzureML studio.

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

Vị trí nút mở terminal trong 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ôi trường ảo#

Theo thông lệ tốt nhất, bạn nên sử dụng môi trường ảo để quản lý các dependency. Chúng ta sẽ sử dụng Conda, vốn được cài đặt sẵn trên compute instance của AzureML. Để xem hướng dẫn thiết lập Conda chi tiết, hãy tham khảo Hướng dẫn bắt đầu nhanh Conda của Ultralytics.

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

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. Clone repository YOLOv5#

Clone repository YOLOv5 chính thức của Ultralytics từ GitHub bằng Git:

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5                                       # Navigate into the directory

3. Cài đặt dependency#

Cài đặt các package Python cần thiết được liệt kê trong file requirements.txt. Chúng ta cũng cài đặt ONNX để hỗ trợ export 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#

Sau khi hoàn tất thiết lập, bạn có thể huấn luyện, validation, chạy inference và export model YOLOv5 của mình.

  • Train model trên một tập dữ liệu như COCO128. Xem hướng dẫn Train Custom Data để 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
  • Validate hiệu suất của model đã được train bằng các metric như Precision, Recall, và mAP. Chạy python val.py --help để xem tất cả 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
  • Run Inference trên các hình ảnh hoặc video mới. Xem YOLOv5 Quickstart để biết các inference source được hỗ trợ.

    # Run inference with yolov5s on sample images
    python detect.py --weights yolov5s.pt --source data/images --img 640
  • Export 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 Model Export 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 muốn có 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 kernel IPython tùy chỉnh được liên kết với môi trường Conda của mình.

Tạo IPython Kernel mới#

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

# 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. Khi mở hoặc tạo file notebook .ipynb, hãy chọn kernel mới của bạn ("Python (yolov5env)") từ menu thả xuống kernel ở góc trên bên phải.

Chạy lệnh trong các ô Notebook#

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

  • Các ô Bash: Để chạy lệnh shell, hãy sử dụng magic command %%bash ở đầu ô. Hãy nhớ kích hoạt môi trường Conda trong từng ô bash, vì các ô này không tự động kế thừa context 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 các Tích hợp Ultralytics khác hoặc tài liệu YOLOv5 chi tiết. Bạn cũng có thể thấy tài liệu AzureML 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.

FAQ#

  • Một instance CPU là đủ cho inference và các lần chạy thử nghiệm ngắn trên COCO128, nhưng việc train thực tế cần một kích thước GPU. Chọn một máy ảo GPU khi bạn tạo compute instance, và xác nhận PyTorch nhận diện được GPU đó với python -c "import torch; print(torch.cuda.is_available())".

  • Các cell Bash không kế thừa môi trường của kernel notebook. Bắt đầu mỗi cell %%bash bằng source activate yolov5env, hoặc chạy các cell Python với kernel Python (yolov5env) mà bạn đã tạo.

  • Các file nằm trong phân vùng chia sẻ file workspace được mount tại ~/cloudfiles vẫn tồn tại sau khi dừng và có thể nhìn thấy từ các compute instance khác. Bất kỳ thứ gì ở nơi khác trên ổ đĩa của instance sẽ được giữ lại chừng nào instance đó còn tồn tại nhưng sẽ bị mất nếu instance bị xóa.

  • Có. pip install ultralytics cung cấp cho bạn tính năng train, validate, và export YOLO26 với CLI yolo trong cùng một môi trường Conda. Xem phần AzureML Quickstart để biết hướng dẫn chi tiết dựa trên package.

Những người đóng góp

Bình luận