Ultralytics YOLO27:

Cấu hình#

Các thiết lập và siêu tham số YOLO đóng vai trò quan trọng đối với hiệu năng, tốc độ và độ chính xác của model. Các thiết lập này có thể ảnh hưởng đến hành vi của model ở nhiều giai đoạn, bao gồm huấn luyện, validation và dự đoán.



Watch: Mastering Ultralytics YOLO: Configuration

Các lệnh Ultralytics sử dụng cú pháp sau:

Ví dụ
yolo TASK MODE ARGS

Trong đó:

Các giá trị ARG mặc định được định nghĩa trên trang này và lấy từ file cfg/default.yaml.

Task#

Các model Ultralytics YOLO có thể thực hiện nhiều task thị giác máy tính, bao gồm:

  • Detect: Phát hiện đối tượng xác định và định vị các đối tượng trong ảnh hoặc video.
  • Segment: Phân đoạn instance chia ảnh hoặc video thành các vùng tương ứng với những đối tượng hoặc class khác nhau.
  • Semantic segmentation (semantic): Phân đoạn ngữ nghĩa gán nhãn class cho từng pixel trong ảnh để hiểu cảnh ở cấp độ dày đặc.
  • Depth (depth): Ước tính độ sâu đơn ảnh dự đoán bản đồ độ sâu theo từng pixel, tính bằng mét, từ một ảnh RGB duy nhất.
  • Classify: Phân loại ảnh dự đoán nhãn class của ảnh đầu vào.
  • Pose: Ước tính pose xác định các đối tượng và ước tính keypoint của chúng trong ảnh hoặc video.
  • OBB: Bounding box định hướng sử dụng các bounding box xoay, phù hợp với ảnh vệ tinh hoặc ảnh y tế.
Đối sốMặc địnhMô tả
task'detect'Chỉ định task YOLO: detect cho phát hiện đối tượng, segment cho phân đoạn instance, semantic cho phân đoạn ngữ nghĩa, depth cho ước tính độ sâu đơn ảnh, classify cho phân loại, pose cho ước tính pose và obb cho bounding box định hướng. Mỗi task được thiết kế cho các đầu ra và bài toán cụ thể trong phân tích ảnh và video.

Hướng dẫn về tác vụ

Mode#

Các model Ultralytics YOLO hoạt động ở nhiều mode khác nhau, mỗi mode được thiết kế cho một giai đoạn cụ thể trong vòng đời của model:

  • Train: Huấn luyện model YOLO trên dataset tùy chỉnh.
  • Val: Validation một model YOLO đã được huấn luyện.
  • Predict: Sử dụng model YOLO đã huấn luyện để dự đoán trên ảnh hoặc video mới.
  • Export: Export model YOLO để triển khai.
  • Track: Theo dõi đối tượng theo thời gian thực bằng model YOLO.
  • Benchmark: Benchmark tốc độ và độ chính xác của các bản export YOLO (ONNX, TensorRT, v.v.).
Đối sốMặc địnhMô tả
mode'train'Chỉ định mode hoạt động của model YOLO: train để huấn luyện model, val để validation, predict để inference, export để chuyển đổi sang các định dạng triển khai, track để theo dõi đối tượng và benchmark để đánh giá hiệu năng. Mỗi mode hỗ trợ các giai đoạn khác nhau, từ phát triển đến triển khai.

Hướng dẫn về chế độ

Thiết lập Train#

Các thiết lập huấn luyện cho model YOLO bao gồm các siêu tham số và cấu hình ảnh hưởng đến hiệu năng, tốc độ và độ chính xác của model. Các thiết lập chính bao gồm batch size, learning rate, momentum và weight decay. Lựa chọn optimizer, hàm loss và thành phần dataset cũng ảnh hưởng đến quá trình huấn luyện. Tinh chỉnh và thử nghiệm là yếu tố then chốt để đạt hiệu năng tối ưu. Để biết thêm chi tiết, hãy xem hàm entrypoint của Ultralytics.

Đối sốKiểuMặc địnhMô tả
modelstrNoneChỉ định file model dùng để huấn luyện. Chấp nhận đường dẫn đến model pretrained .pt hoặc file cấu hình .yaml. Đây là tham số thiết yếu để định nghĩa cấu trúc model hoặc khởi tạo trọng số.
datastrNoneĐường dẫn đến YAML của dataset (ví dụ: coco8.yaml), chứa đường dẫn đến dữ liệu huấn luyện và validation, tên class và số lượng class. Với bài toán phân loại, tham số này nhận thư mục dataset hoặc tên dataset tích hợp sẵn (ví dụ: imagenet10).
epochsint100Tổng số epoch huấn luyện. Mỗi epoch biểu thị một lượt duyệt hoàn chỉnh qua toàn bộ dataset. Việc điều chỉnh giá trị này có thể ảnh hưởng đến thời lượng huấn luyện và hiệu năng model.
timefloatNoneThời gian huấn luyện tối đa tính bằng giờ. Nếu được thiết lập, tham số này ghi đè đối số epochs, cho phép tự động dừng huấn luyện sau khoảng thời gian được chỉ định. Hữu ích trong các kịch bản huấn luyện bị giới hạn thời gian.
patienceint100Số epoch cần chờ khi không có cải thiện trong các metric validation trước khi dừng sớm quá trình huấn luyện. Giúp ngăn overfitting bằng cách dừng huấn luyện khi hiệu năng không còn cải thiện.
batchint hoặc float16Batch size, với ba mode: đặt dưới dạng số nguyên (ví dụ: batch=16), mode tự động sử dụng 60% bộ nhớ GPU (batch=-1) hoặc mode tự động với phân số mức sử dụng được chỉ định (batch=0.70).
imgszint640Kích thước ảnh mục tiêu cho quá trình huấn luyện. Ảnh được resize thành hình vuông với các cạnh bằng giá trị được chỉ định (nếu rect=False), bảo toàn tỷ lệ khung hình đối với model YOLO nhưng không áp dụng cho RT-DETR. Ảnh hưởng đến độ chính xác của model và độ phức tạp tính toán.
saveboolTrueBật việc lưu checkpoint huấn luyện và trọng số model cuối cùng. Hữu ích để tiếp tục huấn luyện hoặc triển khai model.
save_periodint-1Tần suất lưu checkpoint model, được chỉ định theo epoch. Giá trị -1 sẽ tắt tính năng này. Hữu ích để lưu các model trung gian trong những phiên huấn luyện kéo dài.
cacheboolFalseBật caching ảnh dataset trong bộ nhớ (True/ram), trên ổ đĩa (disk) hoặc tắt caching (False). Tăng tốc huấn luyện bằng cách giảm I/O ổ đĩa, nhưng làm tăng mức sử dụng bộ nhớ.
deviceint hoặc str hoặc listNoneChỉ định thiết bị tính toán cho quá trình huấn luyện: một GPU (device=0), nhiều GPU (device=[0,1]), CPU (device=cpu), MPS cho Apple silicon (device=mps), Huawei Ascend NPU (device=npu:0 hoặc device=npu:0,1), tự động chọn GPU đang rảnh (device=-1) hoặc nhiều GPU đang rảnh (device=[-1,-1]).
workers