Cấu hình
Các cài đặt và siêu tham số YOLO đóng một vai trò quan trọng trong hiệu suất, tốc độ và độ chính xác của mô hình. Các cài đặt này có thể ảnh hưởng đến hành vi của mô hình ở các giai đoạn khác nhau, bao gồm huấn luyện, xác thực và dự đoán.
Xem: Làm chủ Ultralytics YOLO: Cấu hình
Xem: Làm chủ Ultralytics YOLO: Cấu hình
Các lệnh Ultralytics sử dụng cú pháp sau:
Ví dụ
yolo TASK MODE ARGS
from ultralytics import YOLO
# Load a YOLO model from a pre-trained weights file
model = YOLO("yolo11n.pt")
# Run MODE mode using the custom arguments ARGS (guess TASK)
model.MODE(ARGS)
Trong đó:
TASK
(tùy chọn) là một trong các (detect, segment, classify, pose, obb)MODE
(bắt buộc) là một trong các (train, val, predict, export, track, benchmark)ARGS
(tùy chọn) là các cặparg=value
nhưimgsz=640
ghi đè các giá trị mặc định.
Mặc định ARG
các giá trị được định nghĩa trên trang này và đến từ cfg/defaults.yaml
tệp.
Nhiệm vụ
Các mô hình Ultralytics YOLO có thể thực hiện nhiều tác vụ thị giác máy tính khác nhau, bao gồm:
- Phát hiện: Phát hiện đối tượng xác định và định vị các đối tượng trong một hình ảnh hoặc video.
- Phân đoạn: Phân đoạn thể hiện (Instance segmentation) chia một hình ảnh hoặc video thành các vùng tương ứng với các đối tượng hoặc lớp khác nhau.
- Phân loại: Phân loại ảnh dự đoán nhãn lớp của một ảnh đầu vào.
- Dáng điệu: Ước tính dáng điệu xác định các đối tượng và ước tính các điểm chính của chúng trong một hình ảnh hoặc video.
- OBB: Oriented Bounding Boxes sử dụng các hộp giới hạn xoay, phù hợp cho hình ảnh vệ tinh hoặc y tế.
Đối số | Mặc định | Mô tả |
---|---|---|
task |
'detect' |
Chỉ định tác vụ YOLO: detect cho phát hiện đối tượng, segment cho phân đoạn, classify cho phân loại, pose cho ước tính tư thế, và obb cho các hộp giới hạn theo hướng. Mỗi tác vụ được điều chỉnh cho các đầu ra và vấn đề cụ thể trong phân tích hình ảnh và video. |
Chế độ
Các mô hình Ultralytics YOLO hoạt động ở các chế độ khác nhau, mỗi chế độ được thiết kế cho một giai đoạn cụ thể của vòng đời mô hình:
- Huấn luyện: Huấn luyện mô hình YOLO trên một bộ dữ liệu tùy chỉnh.
- Val: Xác thực mô hình YOLO đã được huấn luyện.
- Dự đoán: Sử dụng mô hình YOLO đã được huấn luyện để đưa ra dự đoán trên hình ảnh hoặc video mới.
- Xuất: Xuất mô hình YOLO để triển khai.
- Theo dõi: Theo dõi các đối tượng trong thời gian thực bằng mô hình YOLO.
- Điểm chuẩn: Đánh giá tốc độ và độ chính xác của các định dạng xuất YOLO (ONNX, TensorRT, v.v.).
Đối số | Mặc định | Mô tả |
---|---|---|
mode |
'train' |
Chỉ định chế độ hoạt động của mô hình YOLO: train cho việc huấn luyện mô hình, val cho việc xác thực, predict để suy luận, export để chuyển đổi sang các định dạng triển khai, track cho việc theo dõi đối tượng, và benchmark để đánh giá hiệu suất. Mỗi chế độ hỗ trợ các giai đoạn khác nhau, từ phát triển đến triển khai. |
Cài đặt Huấn luyện
Các cài đặt huấn luyện cho các mô hình YOLO bao gồm các siêu tham số và cấu hình ảnh hưởng đến hiệu suất, tốc độ và độ chính xác của mô hình. Các cài đặt chính bao gồm kích thước lô, tốc độ học, quán tính và giảm trọng lượng. Việc lựa chọn trình tối ưu hóa, hàm mất mát và thành phần bộ dữ liệu cũng ảnh hưởng đến quá trình huấn luyện. Điều chỉnh và thử nghiệm là rất quan trọng để có hiệu suất tối ưu. Để biết thêm chi tiết, hãy xem hàm điểm vào Ultralytics.
Đối số | Loại | Mặc định | Mô tả |
---|---|---|---|
model |
str |
None |
Chỉ định tệp mô hình để huấn luyện. Chấp nhận một đường dẫn đến một mô hình đã được huấn luyện trước hoặc một tệp cấu hình YOLO. Cần thiết để xác định cấu trúc mô hình hoặc khởi tạo trọng số. .pt đã được huấn luyện trước .yaml cấu hình. |
data |
str |
None |
Đường dẫn đến tệp cấu hình bộ dữ liệu (ví dụ: coco8.yaml ). Tệp này chứa các tham số cụ thể của bộ dữ liệu, bao gồm đường dẫn đến dữ liệu huấn luyện và dữ liệu xác thực, tên lớp và số lượng lớp. |
epochs |
int |
100 |
Tổng số lượng epochs huấn luyện. Mỗi epoch đại diện cho một lần duyệt đầy đủ trên toàn bộ bộ dữ liệu. Điều chỉnh giá trị này có thể ảnh hưởng đến thời gian huấn luyện và hiệu suất mô hình. |
time |
float |
None |
Thời gian huấn luyện tối đa tính bằng giờ. Nếu được đặt, giá trị này sẽ ghi đè đối số epochs , cho phép quá trình huấn luyện tự động dừng sau khoảng thời gian được chỉ định. Hữu ích cho các tình huống huấn luyện bị giới hạn về thời gian. |
patience |
int |
100 |
Số lượng epochs chờ đợi mà không có sự cải thiện nào về các số liệu xác thực trước khi dừng sớm quá trình huấn luyện. Giúp ngăn ngừa tình trạng quá khớp (overfitting) bằng cách dừng huấn luyện khi hiệu suất chững lại. |
batch |
int hoặc float |
16 |
Kích thước batch, với ba chế độ: đặt làm một số nguyên (ví dụ: batch=16 ), chế độ tự động để sử dụng 60% bộ nhớ GPU (batch=-1 ), hoặc chế độ tự động với phân số sử dụng được chỉ định (batch=0.70 ). |
imgsz |
int |
640 |
Kích thước ảnh mục tiêu để huấn luyện. Ảnh được thay đổi kích thước thành hình vuông với các cạnh bằng giá trị được chỉ định (nếu rect=False ), giữ nguyên tỷ lệ khung hình cho các mô hình YOLO nhưng không áp dụng cho RTDETR. Ảnh hưởng đến mô hình độ chính xác và độ phức tạp tính toán. |
save |
bool |
True |
Cho phép lưu các điểm kiểm tra huấn luyện và trọng số mô hình cuối cùng. Hữu ích để tiếp tục huấn luyện hoặc triển khai mô hình. |
save_period |
int |
-1 |
Tần suất lưu các điểm kiểm tra mô hình, được chỉ định bằng epochs. Giá trị -1 sẽ tắt tính năng này. Hữu ích để lưu các mô hình tạm thời trong các phiên huấn luyện dài. |
cache |
bool |
False |
Cho phép lưu trữ hình ảnh bộ dữ liệu vào bộ nhớ (True /ram ), trên đĩa (disk ), hoặc tắt nó (False ). Cải thiện tốc độ huấn luyện bằng cách giảm I/O đĩa với chi phí tăng mức sử dụng bộ nhớ. |
device |
int hoặc str hoặc list |
None |
Chỉ định (các) thiết bị tính toán cho quá trình huấn luyện: một GPU duy nhất (device=0 ), nhiều GPU (device=[0,1] ), CPU (device=cpu ), MPS cho Apple silicon (device=mps ), hoặc tự động chọn GPU đang nhàn rỗi nhất (device=-1 ) hoặc nhiều GPU nhàn rỗi (device=[-1,-1] ) |
workers |
int |
8 |
Số lượng luồng worker để tải dữ liệu (trên mỗi RANK nếu huấn luyện Multi-GPU). Ảnh hưởng đến tốc độ tiền xử lý dữ liệu và đưa vào mô hình, đặc biệt hữu ích trong các thiết lập nhiều GPU. |
project |
str |
None |
Tên của thư mục dự án nơi lưu trữ các đầu ra huấn luyện. Cho phép lưu trữ có tổ chức các thử nghiệm khác nhau. |
name |
str |
None |
Tên của lần chạy huấn luyện. Được sử dụng để tạo thư mục con trong thư mục dự án, nơi lưu trữ nhật ký và kết quả huấn luyện. |
exist_ok |
bool |
False |
Nếu là True, cho phép ghi đè lên thư mục project/name hiện có. Hữu ích cho thử nghiệm lặp đi lặp lại mà không cần xóa thủ công các kết quả trước đó. |
pretrained |
bool hoặc str |
True |
Xác định xem có bắt đầu huấn luyện từ một mô hình được huấn luyện trước hay không. Có thể là giá trị boolean hoặc đường dẫn chuỗi đến một mô hình cụ thể để tải trọng số. Nâng cao hiệu quả huấn luyện và hiệu suất mô hình. |
optimizer |
str |
'auto' |
Lựa chọn trình tối ưu hóa để huấn luyện. Các tùy chọn bao gồm SGD , Adam , AdamW , NAdam , RAdam , RMSProp v.v., hoặc auto để tự động lựa chọn dựa trên cấu hình mô hình. Ảnh hưởng đến tốc độ hội tụ và tính ổn định. |
seed |
int |
0 |
Đặt seed ngẫu nhiên cho quá trình huấn luyện, đảm bảo khả năng tái tạo kết quả trên các lần chạy với cùng cấu hình. |
deterministic |
bool |
True |
Buộc sử dụng thuật toán tất định, đảm bảo khả năng tái tạo nhưng có thể ảnh hưởng đến hiệu suất và tốc độ do hạn chế đối với các thuật toán không tất định. |
single_cls |
bool |
False |
Xử lý tất cả các lớp trong bộ dữ liệu đa lớp như một lớp duy nhất trong quá trình huấn luyện. Hữu ích cho các tác vụ phân loại nhị phân hoặc khi tập trung vào sự hiện diện của đối tượng hơn là phân loại. |
classes |
list[int] |
None |
Chỉ định danh sách ID lớp để huấn luyện. Hữu ích để lọc và chỉ tập trung vào một số lớp nhất định trong quá trình huấn luyện. |
rect |
bool |
False |
Cho phép sử dụng chiến lược đệm tối thiểu—ảnh trong một lô được đệm tối thiểu để đạt được kích thước chung, với cạnh dài nhất bằng imgsz . Có thể cải thiện hiệu quả và tốc độ nhưng có thể ảnh hưởng đến độ chính xác của mô hình. |
multi_scale |
bool |
False |
Cho phép huấn luyện đa tỷ lệ bằng cách tăng/giảm imgsz lên đến một hệ số là 0.5 trong quá trình huấn luyện. Huấn luyện mô hình để chính xác hơn với nhiều imgsz trong quá trình suy luận. |
cos_lr |
bool |
False |
Sử dụng bộ lập lịch tốc độ học cosine, điều chỉnh tốc độ học theo đường cong cosine qua các epochs. Giúp quản lý tốc độ học để hội tụ tốt hơn. |
close_mosaic |
int |
10 |
Tắt mosaic tăng cường dữ liệu trong N epochs cuối cùng để ổn định quá trình huấn luyện trước khi hoàn thành. Đặt thành 0 để tắt tính năng này. |
resume |
bool |
False |
Tiếp tục huấn luyện từ checkpoint đã lưu cuối cùng. Tự động tải trọng số mô hình, trạng thái trình tối ưu hóa và số lượng epoch, tiếp tục huấn luyện liền mạch. |
amp |
bool |
True |
Cho phép huấn luyện Độ chính xác hỗn hợp (AMP) tự động, giảm mức sử dụng bộ nhớ và có thể tăng tốc độ huấn luyện với tác động tối thiểu đến độ chính xác. |
fraction |
float |
1.0 |
Chỉ định tỷ lệ phần trăm của bộ dữ liệu sẽ sử dụng để huấn luyện. Cho phép huấn luyện trên một tập hợp con của toàn bộ bộ dữ liệu, hữu ích cho các thử nghiệm hoặc khi tài nguyên bị hạn chế. |
profile |
bool |
False |
Cho phép lập hồ sơ tốc độ ONNX và TensorRT trong quá trình huấn luyện, hữu ích để tối ưu hóa việc triển khai mô hình. |
freeze |
int hoặc list |
None |
Đóng băng N lớp đầu tiên của mô hình hoặc các lớp được chỉ định theo chỉ mục, giảm số lượng tham số có thể huấn luyện. Hữu ích cho tinh chỉnh hoặc chuyển giao học tập. |
lr0 |
float |
0.01 |
Tốc độ học ban đầu (ví dụ: SGD=1E-2 , Adam=1E-3 ). Điều chỉnh giá trị này rất quan trọng cho quá trình tối ưu hóa, ảnh hưởng đến tốc độ cập nhật trọng số của mô hình. |
lrf |
float |
0.01 |
Tốc độ học cuối cùng là một phần của tốc độ ban đầu = (lr0 * lrf ), được sử dụng kết hợp với bộ lập lịch để điều chỉnh tốc độ học theo thời gian. |
momentum |
float |
0.937 |
Hệ số động lượng cho SGD hoặc beta1 cho bộ tối ưu hóa Adam, ảnh hưởng đến việc kết hợp các gradient trong quá khứ vào bản cập nhật hiện tại. |
weight_decay |
float |
0.0005 |
Số hạng điều chuẩn L2, phạt các trọng số lớn để ngăn ngừa overfitting. |
warmup_epochs |
float |
3.0 |
Số lượng epochs để khởi động tốc độ học, tăng dần tốc độ học từ giá trị thấp đến tốc độ học ban đầu để ổn định quá trình huấn luyện sớm. |
warmup_momentum |
float |
0.8 |
Động lượng ban đầu cho giai đoạn khởi động, điều chỉnh dần dần đến động lượng đã đặt trong giai đoạn khởi động. |
warmup_bias_lr |
float |
0.1 |
Tỷ lệ học (learning rate) cho các tham số bias trong giai đoạn khởi động (warmup phase), giúp ổn định quá trình huấn luyện mô hình trong các epoch ban đầu. |
box |
float |
7.5 |
Trọng số của thành phần loss box trong hàm loss, ảnh hưởng đến mức độ nhấn mạnh vào việc dự đoán chính xác tọa độ bounding box. |
cls |
float |
0.5 |
Trọng số của classification loss trong hàm loss tổng thể, ảnh hưởng đến tầm quan trọng của việc dự đoán đúng lớp so với các thành phần khác. |
dfl |
float |
1.5 |
Trọng số của distribution focal loss, được sử dụng trong một số phiên bản YOLO nhất định để phân loại chi tiết. |
pose |
float |
12.0 |
Trọng số của pose loss trong các mô hình được huấn luyện để ước tính tư thế (pose estimation), ảnh hưởng đến mức độ nhấn mạnh vào việc dự đoán chính xác các keypoint tư thế. |
kobj |
float |
2.0 |
Trọng số của keypoint objectness loss trong các mô hình ước tính tư thế, cân bằng độ tin cậy phát hiện với độ chính xác của tư thế. |
nbs |
int |
64 |
Kích thước batch danh định để chuẩn hóa loss. |
overlap_mask |
bool |
True |
Xác định xem mặt nạ đối tượng nên được hợp nhất thành một mặt nạ duy nhất để huấn luyện hay giữ riêng cho từng đối tượng. Trong trường hợp chồng chéo, mặt nạ nhỏ hơn sẽ được phủ lên trên mặt nạ lớn hơn trong quá trình hợp nhất. |
mask_ratio |
int |
4 |
Tỷ lệ downsample cho mặt nạ phân đoạn (segmentation mask), ảnh hưởng đến độ phân giải của mặt nạ được sử dụng trong quá trình huấn luyện. |
dropout |
float |
0.0 |
Tỷ lệ dropout để điều chuẩn (regularization) trong các tác vụ phân loại, ngăn ngừa overfitting bằng cách loại bỏ ngẫu nhiên các đơn vị trong quá trình huấn luyện. |
val |
bool |
True |
Cho phép xác thực (validation) trong quá trình huấn luyện, cho phép đánh giá định kỳ hiệu suất của mô hình trên một tập dữ liệu riêng biệt. |
plots |
bool |
False |
Tạo và lưu các biểu đồ về số liệu huấn luyện và xác thực, cũng như các ví dụ dự đoán, cung cấp thông tin trực quan về hiệu suất mô hình và tiến trình học. |
Lưu ý về Cài đặt Kích thước Batch
Hàm batch
đối số cung cấp ba tùy chọn cấu hình:
- Kích thước lô cố định: Chỉ định số lượng hình ảnh trên mỗi batch bằng một số nguyên (ví dụ:
batch=16
). - Chế Độ Tự Động (60% Bộ Nhớ GPU): Sử dụng
batch=-1
để tự động điều chỉnh đến khoảng 60% mức sử dụng bộ nhớ CUDA. - Chế Độ Tự Động với Phân Số Sử Dụng: Đặt một tỷ lệ (ví dụ:
batch=0.70
) để điều chỉnh dựa trên mức sử dụng bộ nhớ GPU được chỉ định.
Cài đặt Dự đoán
Các cài đặt dự đoán cho các mô hình YOLO bao gồm các siêu tham số và cấu hình ảnh hưởng đến hiệu suất, tốc độ và độ chính xác trong quá trình suy luận. Các cài đặt chính bao gồm ngưỡng tin cậy, ngưỡng Non-Maximum Suppression (NMS) và số lượng lớp. Kích thước dữ liệu đầu vào, định dạng và các tính năng bổ sung như mặt nạ cũng ảnh hưởng đến dự đoán. Điều chỉnh các cài đặt này là rất cần thiết để có hiệu suất tối ưu.
Các đối số suy luận:
Đối số | Loại | Mặc định | Mô tả |
---|---|---|---|
source |
str |
'ultralytics/assets' |
Chỉ định nguồn dữ liệu cho suy luận. Có thể là đường dẫn hình ảnh, tệp video, thư mục, URL hoặc ID thiết bị cho các nguồn cấp dữ liệu trực tiếp. Hỗ trợ nhiều định dạng và nguồn khác nhau, cho phép ứng dụng linh hoạt trên các loại đầu vào khác nhau. |
conf |
float |
0.25 |
Đặt ngưỡng độ tin cậy tối thiểu cho các phát hiện. Các đối tượng được phát hiện với độ tin cậy dưới ngưỡng này sẽ bị bỏ qua. Điều chỉnh giá trị này có thể giúp giảm các phát hiện sai. |
iou |
float |
0.7 |
Ngưỡng Intersection Over Union (IoU) cho Non-Maximum Suppression (NMS). Các giá trị thấp hơn dẫn đến ít phát hiện hơn bằng cách loại bỏ các hộp chồng chéo, hữu ích để giảm trùng lặp. |
imgsz |
int hoặc tuple |
640 |
Xác định kích thước hình ảnh cho suy luận. Có thể là một số nguyên duy nhất 640 để thay đổi kích thước hình vuông hoặc một bộ (chiều cao, chiều rộng). Định cỡ thích hợp có thể cải thiện khả năng phát hiện độ chính xác và tốc độ xử lý. |
rect |
bool |
True |
Nếu được bật, sẽ thêm phần đệm tối thiểu vào cạnh ngắn hơn của ảnh cho đến khi chia hết cho bước tiến để cải thiện tốc độ suy luận. Nếu tắt, sẽ thêm phần đệm vào ảnh thành hình vuông trong quá trình suy luận. |
half |
bool |
False |
Cho phép suy luận nửa độ chính xác (FP16), có thể tăng tốc độ suy luận mô hình trên các GPU được hỗ trợ với tác động tối thiểu đến độ chính xác. |
device |
str |
None |
Chỉ định thiết bị cho suy luận (ví dụ: cpu , cuda:0 hoặc 0 ). Cho phép người dùng lựa chọn giữa CPU, một GPU cụ thể hoặc các thiết bị tính toán khác để thực thi mô hình. |
batch |
int |
1 |
Chỉ định kích thước lô cho suy luận (chỉ hoạt động khi nguồn là một thư mục, tệp video hoặc .txt tệp). Kích thước batch lớn hơn có thể cung cấp thông lượng cao hơn, rút ngắn tổng thời gian cần thiết cho quá trình suy luận. |
max_det |
int |
300 |
Số lượng phát hiện tối đa được phép trên mỗi hình ảnh. Giới hạn tổng số đối tượng mà mô hình có thể phát hiện trong một lần suy luận, ngăn chặn đầu ra quá mức trong các cảnh dày đặc. |
vid_stride |
int |
1 |
Bước nhảy khung hình cho dữ liệu đầu vào video. Cho phép bỏ qua các khung hình trong video để tăng tốc độ xử lý, đánh đổi bằng độ phân giải thời gian. Giá trị 1 xử lý mọi khung hình, giá trị cao hơn sẽ bỏ qua khung hình. |
stream_buffer |
bool |
False |
Xác định xem có xếp hàng chờ các khung hình đến cho luồng video hay không. Nếu False , các khung hình cũ bị loại bỏ để nhường chỗ cho các khung hình mới (được tối ưu hóa cho các ứng dụng thời gian thực). Nếu True , xếp hàng các khung hình mới vào bộ đệm, đảm bảo không bỏ qua khung hình nào, nhưng sẽ gây ra độ trễ nếu FPS suy luận thấp hơn FPS luồng. |
visualize |
bool |
False |
Kích hoạt trực quan hóa các đặc trưng của mô hình trong quá trình suy luận, cung cấp thông tin chi tiết về những gì mô hình đang "nhìn thấy". Hữu ích cho việc gỡ lỗi và diễn giải mô hình. |
augment |
bool |
False |
Cho phép tăng cường dữ liệu lúc kiểm thử (TTA) để dự đoán, có khả năng cải thiện độ mạnh mẽ của việc phát hiện nhưng phải trả giá bằng tốc độ suy luận. |
agnostic_nms |
bool |
False |
Cho phép loại bỏ chồng lấp không phân biệt lớp (NMS), giúp hợp nhất các hộp chồng lấp của các lớp khác nhau. Hữu ích trong các tình huống phát hiện đa lớp, nơi sự chồng lấp lớp là phổ biến. |
classes |
list[int] |
None |
Lọc các dự đoán theo một tập hợp ID lớp. Chỉ các phát hiện thuộc các lớp được chỉ định mới được trả về. Hữu ích để tập trung vào các đối tượng có liên quan trong các tác vụ phát hiện đa lớp. |
retina_masks |
bool |
False |
Trả về mặt nạ phân đoạn có độ phân giải cao. Các mặt nạ được trả về (masks.data ) sẽ khớp với kích thước hình ảnh gốc nếu được bật. Nếu tắt, chúng sẽ có kích thước hình ảnh được sử dụng trong quá trình suy luận. |
embed |
list[int] |
None |
Chỉ định các lớp để trích xuất vectơ đặc trưng hoặc nhúng. Hữu ích cho các tác vụ hạ nguồn như phân cụm hoặc tìm kiếm tương tự. |
project |
str |
None |
Tên của thư mục dự án nơi lưu trữ đầu ra dự đoán nếu save được bật. |
name |
str |
None |
Tên của lần chạy dự đoán. Được sử dụng để tạo thư mục con bên trong thư mục dự án, nơi lưu trữ đầu ra dự đoán nếu save được bật. |
stream |
bool |
False |
Cho phép xử lý tiết kiệm bộ nhớ cho các video dài hoặc nhiều hình ảnh bằng cách trả về một trình tạo các đối tượng Kết quả thay vì tải tất cả các khung hình vào bộ nhớ cùng một lúc. |
verbose |
bool |
True |
Kiểm soát việc hiển thị nhật ký suy luận chi tiết trong terminal, cung cấp phản hồi theo thời gian thực về quá trình dự đoán. |
Các đối số trực quan hóa:
Đối số | Loại | Mặc định | Mô tả |
---|---|---|---|
show |
bool |
False |
Nếu True , hiển thị hình ảnh hoặc video đã chú thích trong một cửa sổ. Hữu ích để có phản hồi trực quan ngay lập tức trong quá trình phát triển hoặc thử nghiệm. |
save |
bool |
False or True |
Cho phép lưu hình ảnh hoặc video đã chú thích vào tệp. Hữu ích cho việc lập tài liệu, phân tích thêm hoặc chia sẻ kết quả. Mặc định là True khi sử dụng CLI & False khi sử dụng trong python. |
save_frames |
bool |
False |
Khi xử lý video, lưu các khung hình riêng lẻ dưới dạng hình ảnh. Hữu ích để trích xuất các khung hình cụ thể hoặc để phân tích chi tiết từng khung hình. |
save_txt |
bool |
False |
Lưu kết quả phát hiện trong một tệp văn bản, theo định dạng [class] [x_center] [y_center] [width] [height] [confidence] . Hữu ích cho việc tích hợp với các công cụ phân tích khác. |
save_conf |
bool |
False |
Bao gồm điểm tin cậy trong các tệp văn bản đã lưu. Nâng cao chi tiết có sẵn để xử lý và phân tích hậu kỳ. |
save_crop |
bool |
False |
Lưu hình ảnh đã cắt của các phát hiện. Hữu ích cho việc tăng cường tập dữ liệu, phân tích hoặc tạo tập dữ liệu tập trung cho các đối tượng cụ thể. |
show_labels |
bool |
True |
Hiển thị nhãn cho mỗi lần phát hiện trong đầu ra trực quan. Cung cấp sự hiểu biết ngay lập tức về các đối tượng được phát hiện. |
show_conf |
bool |
True |
Hiển thị điểm tin cậy cho mỗi lần phát hiện cùng với nhãn. Cung cấp cái nhìn sâu sắc về độ chắc chắn của mô hình cho mỗi lần phát hiện. |
show_boxes |
bool |
True |
Vẽ các hộp giới hạn xung quanh các đối tượng được phát hiện. Cần thiết cho việc xác định trực quan và vị trí của các đối tượng trong hình ảnh hoặc khung hình video. |
line_width |
None or int |
None |
Chỉ định độ rộng đường của hộp giới hạn. Nếu None , độ rộng đường kẻ được tự động điều chỉnh dựa trên kích thước hình ảnh. Cung cấp tùy chỉnh trực quan để rõ ràng hơn. |
Cài đặt xác thực
Các cài đặt validation (kiểm định) cho các mô hình YOLO bao gồm các siêu tham số và cấu hình để đánh giá hiệu suất trên một validation dataset (tập dữ liệu kiểm định). Các cài đặt này ảnh hưởng đến hiệu suất, tốc độ và accuracy (độ chính xác). Các cài đặt phổ biến bao gồm batch size (kích thước lô), tần suất validation (kiểm định) và các số liệu hiệu suất. Kích thước và thành phần của validation dataset (tập dữ liệu kiểm định), cùng với nhiệm vụ cụ thể, cũng ảnh hưởng đến quá trình.
Đối số | Loại | Mặc định | Mô tả |
---|---|---|---|
data |
str |
None |
Chỉ định đường dẫn đến tệp cấu hình bộ dữ liệu (ví dụ: coco8.yaml ). Tệp này bao gồm các đường dẫn đến dữ liệu xác thực, tên lớp và số lượng lớp. |
imgsz |
int |
640 |
Xác định kích thước của hình ảnh đầu vào. Tất cả hình ảnh được thay đổi kích thước thành kích thước này trước khi xử lý. Kích thước lớn hơn có thể cải thiện độ chính xác cho các đối tượng nhỏ nhưng làm tăng thời gian tính toán. |
batch |
int |
16 |
Đặt số lượng hình ảnh trên mỗi lô (batch). Giá trị cao hơn sử dụng bộ nhớ GPU hiệu quả hơn nhưng yêu cầu nhiều VRAM hơn. Điều chỉnh dựa trên tài nguyên phần cứng có sẵn. |
save_json |
bool |
False |
Nếu True , lưu kết quả vào tệp JSON để phân tích sâu hơn, tích hợp với các công cụ khác hoặc gửi đến các máy chủ đánh giá như COCO. |
conf |
float |
0.001 |
Đặt ngưỡng tin cậy tối thiểu cho các phát hiện. Giá trị thấp hơn làm tăng độ nhạy nhưng có thể đưa vào nhiều kết quả dương tính giả hơn. Được sử dụng trong quá trình xác thực để tính toán đường cong độ chính xác-độ nhạy. |
iou |
float |
0.7 |
Đặt ngưỡng Intersection Over Union (IoU) cho Non-Maximum Suppression (NMS). Kiểm soát việc loại bỏ các phát hiện trùng lặp. |
max_det |
int |
300 |
Giới hạn số lượng phát hiện tối đa trên mỗi hình ảnh. Hữu ích trong các cảnh dày đặc để ngăn chặn các phát hiện quá mức và quản lý tài nguyên tính toán. |
half |
bool |
True |
Cho phép tính toán nửa độ chính xác (FP16), giảm mức sử dụng bộ nhớ và có khả năng tăng tốc độ với tác động tối thiểu đến độ chính xác. |
device |
str |
None |
Chỉ định thiết bị để xác thực (cpu , cuda:0 , v.v.). Khi None , tự động chọn thiết bị khả dụng tốt nhất. Có thể chỉ định nhiều thiết bị CUDA bằng cách phân tách bằng dấu phẩy. |
dnn |
bool |
False |
Nếu True , sử dụng OpenCV mô-đun DNN để suy luận mô hình ONNX, cung cấp một giải pháp thay thế cho PyTorch các phương pháp suy luận. |
plots |
bool |
False |
Khi được đặt thành True , tạo và lưu các biểu đồ dự đoán so với ground truth, ma trận nhầm lẫn và đường cong PR để đánh giá trực quan hiệu suất của mô hình. |
classes |
list[int] |
None |
Chỉ định danh sách ID lớp để đào tạo. Hữu ích để lọc ra và chỉ tập trung vào một số lớp nhất định trong quá trình đánh giá. |
rect |
bool |
True |
Nếu True , sử dụng suy luận hình chữ nhật để tạo hàng loạt, giảm phần đệm và có khả năng tăng tốc độ và hiệu quả bằng cách xử lý hình ảnh theo tỷ lệ khung hình gốc của chúng. |
split |
str |
'val' |
Xác định phần chia tập dữ liệu để sử dụng cho quá trình xác thực (validation) (val , test , hoặc train ). Cho phép linh hoạt trong việc lựa chọn phân đoạn dữ liệu để đánh giá hiệu suất. |
project |
str |
None |
Tên của thư mục dự án nơi lưu trữ các đầu ra xác thực. Giúp sắp xếp kết quả từ các thử nghiệm hoặc mô hình khác nhau. |
name |
str |
None |
Tên của lần chạy xác thực. Được sử dụng để tạo thư mục con trong thư mục dự án, nơi lưu trữ nhật ký và đầu ra xác thực. |
verbose |
bool |
False |
Nếu True , hiển thị thông tin chi tiết trong quá trình xác thực, bao gồm các số liệu trên mỗi lớp, tiến trình lô và thông tin gỡ lỗi bổ sung. |
save_txt |
bool |
False |
Nếu True , lưu kết quả phát hiện trong các tệp văn bản, với một tệp cho mỗi hình ảnh, hữu ích cho phân tích sâu hơn, xử lý hậu kỳ tùy chỉnh hoặc tích hợp với các hệ thống khác. |
save_conf |
bool |
False |
Nếu True , bao gồm các giá trị tin cậy trong các tệp văn bản đã lưu khi save_txt được bật, cung cấp đầu ra chi tiết hơn để phân tích và lọc. |
workers |
int |
8 |
Số lượng luồng worker để tải dữ liệu. Giá trị cao hơn có thể tăng tốc quá trình tiền xử lý dữ liệu nhưng có thể làm tăng mức sử dụng CPU. Đặt thành 0 sẽ sử dụng luồng chính, luồng này có thể ổn định hơn trong một số môi trường. |
augment |
bool |
False |
Cho phép tăng cường thời gian kiểm tra (TTA) trong quá trình xác thực, có khả năng cải thiện độ chính xác phát hiện với chi phí là tốc độ suy luận bằng cách chạy suy luận trên các phiên bản đã được chuyển đổi của đầu vào. |
agnostic_nms |
bool |
False |
Cho phép Triệt tiêu không tối đa không phân biệt lớp, hợp nhất các hộp chồng chéo bất kể lớp được dự đoán của chúng. Hữu ích cho các ứng dụng tập trung vào đối tượng. |
single_cls |
bool |
False |
Xem tất cả các lớp như một lớp duy nhất trong quá trình xác thực. Hữu ích để đánh giá hiệu suất mô hình trên các tác vụ phát hiện nhị phân hoặc khi sự khác biệt giữa các lớp không quan trọng. |
visualize |
bool |
False |
Trực quan hóa ground truth, true positive, false positive và false negative cho mỗi hình ảnh. Hữu ích cho việc gỡ lỗi và diễn giải mô hình. |
Việc điều chỉnh và thử nghiệm cẩn thận là rất quan trọng để đảm bảo hiệu suất tối ưu, đồng thời phát hiện và ngăn chặn tình trạng quá khớp (overfitting).
Cài đặt xuất
Cài đặt xuất cho các mô hình YOLO bao gồm các cấu hình để lưu hoặc xuất mô hình để sử dụng trong các môi trường khác nhau. Các cài đặt này ảnh hưởng đến hiệu suất, kích thước và khả năng tương thích. Các cài đặt chính bao gồm định dạng tệp đã xuất (ví dụ: ONNX, TensorFlow SavedModel), thiết bị đích (ví dụ: CPU, GPU) và các tính năng như mặt nạ. Nhiệm vụ của mô hình và các ràng buộc của môi trường đích cũng ảnh hưởng đến quá trình xuất.
Đối số | Loại | Mặc định | Mô tả |
---|---|---|---|
format |
str |
'torchscript' |
Định dạng mục tiêu cho mô hình đã xuất, chẳng hạn như 'onnx' , 'torchscript' , 'engine' (TensorRT) hoặc các định dạng khác. Mỗi định dạng cho phép khả năng tương thích với các môi trường triển khai. |
imgsz |
int hoặc tuple |
640 |
Kích thước hình ảnh mong muốn cho đầu vào của mô hình. Có thể là một số nguyên cho hình ảnh vuông (ví dụ: 640 cho 640×640) hoặc một tuple (height, width) cho các kích thước cụ thể. |
keras |
bool |
False |
Cho phép xuất sang định dạng Keras cho TensorFlow SavedModel, cung cấp khả năng tương thích với TensorFlow serving và các API. |
optimize |
bool |
False |
Áp dụng tối ưu hóa cho thiết bị di động khi xuất sang TorchScript, có khả năng giảm kích thước mô hình và cải thiện hiệu suất suy luận. Không tương thích với định dạng NCNN hoặc thiết bị CUDA. |
half |
bool |
False |
Cho phép lượng tử hóa FP16 (nửa độ chính xác), giảm kích thước mô hình và có khả năng tăng tốc độ suy luận trên phần cứng được hỗ trợ. Không tương thích với lượng tử hóa INT8 hoặc xuất chỉ CPU cho ONNX. |
int8 |
bool |
False |
Kích hoạt lượng tử hóa INT8, nén thêm mô hình và tăng tốc suy luận với mức giảm độ chính xác tối thiểu, chủ yếu dành cho các thiết bị biên. Khi được sử dụng với TensorRT, sẽ thực hiện lượng tử hóa sau huấn luyện (PTQ). |
dynamic |
bool |
False |
Cho phép kích thước đầu vào động cho các định dạng xuất ONNX, TensorRT và OpenVINO, tăng cường tính linh hoạt trong việc xử lý các kích thước ảnh khác nhau. Tự động được đặt thành True Khi sử dụng TensorRT với INT8. |
simplify |
bool |
True |
Đơn giản hóa đồ thị mô hình cho xuất ONNX với onnxslim , có khả năng cải thiện hiệu suất và khả năng tương thích với các công cụ suy luận. |
opset |
int |
None |
Chỉ định phiên bản ONNX opset để tương thích với các trình phân tích cú pháp và thời gian chạy ONNX khác nhau. Nếu không được đặt, sẽ sử dụng phiên bản được hỗ trợ mới nhất. |
workspace |
float hoặc None |
None |
Đặt kích thước không gian làm việc tối đa tính bằng GiB cho TensorRT tối ưu hóa, cân bằng việc sử dụng bộ nhớ và hiệu suất. Sử dụng None để TensorRT tự động phân bổ lên đến mức tối đa của thiết bị. |
nms |
bool |
False |
Thêm Non-Maximum Suppression (NMS) vào mô hình đã xuất khi được hỗ trợ (xem Định dạng xuất), cải thiện hiệu quả xử lý hậu kỳ phát hiện. Không khả dụng cho các mô hình end2end. |
batch |
int |
1 |
Chỉ định kích thước lô suy luận của mô hình xuất hoặc số lượng hình ảnh tối đa mà mô hình đã xuất sẽ xử lý đồng thời trong predict mode. Đối với xuất Edge TPU, giá trị này tự động được đặt thành 1. |
device |
str |
None |
Chỉ định thiết bị để xuất: GPU (device=0 ), CPU (device=cpu ), MPS cho Apple silicon (device=mps ) hoặc DLA cho NVIDIA Jetson (device=dla:0 hoặc device=dla:1 ). Xuất TensorRT tự động sử dụng GPU. |
data |
str |
'coco8.yaml' |
Đường dẫn đến tập dữ liệu tệp cấu hình (mặc định: coco8.yaml ), cần thiết cho việc hiệu chỉnh lượng tử hóa INT8. Nếu không được chỉ định khi bật INT8, một tập dữ liệu mặc định sẽ được chỉ định. |
fraction |
float |
1.0 |
Chỉ định tỷ lệ phần trăm của tập dữ liệu được sử dụng để hiệu chỉnh lượng tử hóa INT8. Cho phép hiệu chỉnh trên một tập hợp con của toàn bộ tập dữ liệu, hữu ích cho các thử nghiệm hoặc khi tài nguyên bị hạn chế. Nếu không được chỉ định khi bật INT8, toàn bộ tập dữ liệu sẽ được sử dụng. |
Cấu hình chu đáo đảm bảo mô hình đã xuất được tối ưu hóa cho trường hợp sử dụng của nó và hoạt động hiệu quả trong môi trường mục tiêu.
Cài đặt giải pháp
Cài đặt cấu hình Giải pháp Ultralytics cung cấp sự linh hoạt để tùy chỉnh các mô hình cho các tác vụ như đếm đối tượng, tạo bản đồ nhiệt, theo dõi tập luyện, phân tích dữ liệu, theo dõi khu vực, quản lý hàng đợi và đếm dựa trên khu vực. Các tùy chọn này cho phép điều chỉnh dễ dàng để có kết quả chính xác và hữu ích phù hợp với các nhu cầu cụ thể.
Đối số | Loại | Mặc định | Mô tả |
---|---|---|---|
model |
str |
None |
Đường dẫn đến Tệp Mô hình Ultralytics YOLO. |
region |
list |
'[(20, 400), (1260, 400)]' |
Danh sách các điểm xác định vùng đếm. |
show_in |
bool |
True |
Cờ để kiểm soát việc có hiển thị số lượng trong luồng video hay không. |
show_out |
bool |
True |
Cờ để kiểm soát việc có hiển thị số lượng đối tượng đếm được trên luồng video hay không. |
analytics_type |
str |
line |
Loại biểu đồ, ví dụ: line , bar , area , hoặc pie . |
colormap |
int |
cv2.COLORMAP_JET |
Bảng màu để sử dụng cho bản đồ nhiệt. |
json_file |
str |
None |
Đường dẫn đến tệp JSON chứa tất cả dữ liệu tọa độ đỗ xe. |
up_angle |
float |
145.0 |
Ngưỡng góc cho tư thế 'lên'. |
kpts |
list[int, int, int] |
'[6, 8, 10]' |
Danh sách các điểm chính được sử dụng để theo dõi quá trình tập luyện. Các điểm chính này tương ứng với các khớp hoặc bộ phận cơ thể, chẳng hạn như vai, khuỷu tay và cổ tay, cho các bài tập như chống đẩy, kéo xà, squat, tập cơ bụng. |
down_angle |
float |
90.0 |
Ngưỡng góc cho tư thế 'xuống'. |
blur_ratio |
float |
0.5 |
Điều chỉnh tỷ lệ phần trăm cường độ mờ, với các giá trị trong phạm vi 0.1 - 1.0 . |
crop_dir |
str |
'cropped-detections' |
Tên thư mục để lưu trữ các phát hiện đã cắt. |
records |
int |
5 |
Tổng số lần phát hiện để kích hoạt email với hệ thống báo động an ninh. |
vision_point |
tuple[int, int] |
(20, 20) |
Điểm mà tầm nhìn sẽ theo dõi các đối tượng và vẽ đường dẫn bằng Giải pháp VisionEye. |
source |
str |
None |
Đường dẫn đến nguồn đầu vào (video, RTSP, v.v.). Chỉ có thể sử dụng với giao diện dòng lệnh (CLI) của Solutions. |
figsize |
tuple[int, int] |
(12.8, 7.2) |
Kích thước hình cho các biểu đồ phân tích như bản đồ nhiệt hoặc đồ thị. |
fps |
float |
30.0 |
Số khung hình trên giây được sử dụng để tính toán tốc độ. |
max_hist |
int |
5 |
Số điểm lịch sử tối đa để theo dõi trên mỗi đối tượng để tính toán tốc độ/hướng. |
meter_per_pixel |
float |
0.05 |
Hệ số tỷ lệ được sử dụng để chuyển đổi khoảng cách pixel thành đơn vị thế giới thực. |
max_speed |
int |
120 |
Giới hạn tốc độ tối đa trong lớp phủ trực quan (được sử dụng trong cảnh báo). |
data |
str |
'images' |
Đường dẫn đến thư mục hình ảnh được sử dụng cho tìm kiếm tương tự. |
Cài đặt tăng cường dữ liệu
Các kỹ thuật tăng cường dữ liệu rất cần thiết để cải thiện tính mạnh mẽ và hiệu suất của mô hình YOLO bằng cách đưa sự thay đổi vào dữ liệu huấn luyện, giúp mô hình khái quát hóa tốt hơn cho dữ liệu chưa thấy. Bảng sau đây phác thảo mục đích và hiệu quả của từng đối số tăng cường:
Đối số | Loại | Mặc định | Phạm vi | Mô tả |
---|---|---|---|---|
hsv_h |
float |
0.015 |
0.0 - 1.0 |
Điều chỉnh màu sắc của hình ảnh theo một phần của bánh xe màu, tạo ra sự thay đổi màu sắc. Giúp mô hình khái quát hóa trong các điều kiện ánh sáng khác nhau. |
hsv_s |
float |
0.7 |
0.0 - 1.0 |
Thay đổi độ bão hòa của ảnh theo một tỷ lệ nhất định, ảnh hưởng đến cường độ màu sắc. Hữu ích để mô phỏng các điều kiện môi trường khác nhau. |
hsv_v |
float |
0.4 |
0.0 - 1.0 |
Điều chỉnh giá trị (độ sáng) của ảnh theo một tỷ lệ nhất định, giúp mô hình hoạt động tốt trong các điều kiện ánh sáng khác nhau. |
degrees |
float |
0.0 |
0.0 - 180 |
Xoay ảnh ngẫu nhiên trong phạm vi độ được chỉ định, cải thiện khả năng nhận diện đối tượng ở nhiều hướng khác nhau của mô hình. |
translate |
float |
0.1 |
0.0 - 1.0 |
Tịnh tiến ảnh theo chiều ngang và chiều dọc theo một tỷ lệ kích thước ảnh, hỗ trợ việc học cách phát hiện các đối tượng bị che khuất một phần. |
scale |
float |
0.5 |
>=0.0 |
Thay đổi tỷ lệ ảnh theo hệ số усиление, mô phỏng các đối tượng ở các khoảng cách khác nhau từ máy ảnh. |
shear |
float |
0.0 |
-180 - +180 |
Xén ảnh theo một độ được chỉ định, mô phỏng hiệu ứng của các đối tượng được xem từ các góc khác nhau. |
perspective |
float |
0.0 |
0.0 - 0.001 |
Áp dụng phép biến đổi phối cảnh ngẫu nhiên cho ảnh, tăng cường khả năng hiểu các đối tượng trong không gian 3D của mô hình. |
flipud |
float |
0.0 |
0.0 - 1.0 |
Lật ngược ảnh với xác suất được chỉ định, tăng tính biến đổi của dữ liệu mà không ảnh hưởng đến các đặc điểm của đối tượng. |
fliplr |
float |
0.5 |
0.0 - 1.0 |
Lật ảnh từ trái sang phải với xác suất được chỉ định, hữu ích cho việc học các đối tượng đối xứng và tăng tính đa dạng của tập dữ liệu. |
bgr |
float |
0.0 |
0.0 - 1.0 |
Lật các kênh hình ảnh từ RGB sang BGR với xác suất được chỉ định, hữu ích để tăng cường khả năng chống chịu với việc sắp xếp kênh không chính xác. |
mosaic |
float |
1.0 |
0.0 - 1.0 |
Kết hợp bốn ảnh huấn luyện thành một, mô phỏng các thành phần cảnh và tương tác đối tượng khác nhau. Rất hiệu quả để hiểu các cảnh phức tạp. |
mixup |
float |
0.0 |
0.0 - 1.0 |
Trộn hai ảnh và nhãn của chúng, tạo ra một ảnh tổng hợp. Nâng cao khả năng khái quát hóa của mô hình bằng cách đưa vào nhiễu nhãn và tính biến đổi trực quan. |
cutmix |
float |
0.0 |
0.0 - 1.0 |
Kết hợp các phần của hai ảnh, tạo ra sự pha trộn một phần trong khi vẫn duy trì các vùng riêng biệt. Tăng cường tính mạnh mẽ của mô hình bằng cách tạo ra các tình huống che khuất. |
copy_paste |
float |
0.0 |
0.0 - 1.0 |
Chỉ phân đoạn. Sao chép và dán các đối tượng trên các hình ảnh để tăng số lượng đối tượng. |
copy_paste_mode |
str |
flip |
- | Chỉ phân vùng (Segmentation only). Chỉ định copy-paste chiến lược để sử dụng. Các tùy chọn bao gồm 'flip' và 'mixup' . |
auto_augment |
str |
randaugment |
- | Chỉ phân loại. Áp dụng chính sách tăng cường được xác định trước ('randaugment' , 'autoaugment' , hoặc 'augmix' ) để nâng cao hiệu suất mô hình thông qua sự đa dạng trực quan. |
erasing |
float |
0.4 |
0.0 - 0.9 |
Chỉ phân loại. Xóa ngẫu nhiên các vùng của hình ảnh trong quá trình đào tạo để khuyến khích mô hình tập trung vào các đặc điểm ít rõ ràng hơn. |
Điều chỉnh các cài đặt này để đáp ứng các yêu cầu của tập dữ liệu và tác vụ. Thử nghiệm với các giá trị khác nhau có thể giúp tìm ra chiến lược tăng cường dữ liệu tối ưu để có hiệu suất mô hình tốt nhất.
Cài đặt ghi log, điểm kiểm tra và vẽ đồ thị
Ghi nhật ký, điểm kiểm tra, vẽ đồ thị và quản lý tệp là rất quan trọng khi huấn luyện mô hình YOLO:
- Ghi nhật ký: Theo dõi tiến trình của mô hình và chẩn đoán các vấn đề bằng cách sử dụng các thư viện như TensorBoard hoặc bằng cách ghi vào một tập tin.
- Điểm kiểm tra (Checkpoints): Lưu mô hình theo các khoảng thời gian đều đặn để tiếp tục huấn luyện hoặc thử nghiệm với các cấu hình khác nhau.
- Vẽ đồ thị: Trực quan hóa hiệu suất và tiến trình huấn luyện bằng cách sử dụng các thư viện như matplotlib hoặc TensorBoard.
- Quản lý tập tin: Sắp xếp các tập tin được tạo trong quá trình huấn luyện, chẳng hạn như điểm kiểm tra, tập tin nhật ký và biểu đồ, để dễ dàng truy cập và phân tích.
Quản lý hiệu quả các khía cạnh này giúp theo dõi tiến độ và giúp gỡ lỗi và tối ưu hóa dễ dàng hơn.
Đối số | Mặc định | Mô tả |
---|---|---|
project |
'runs' |
Chỉ định thư mục gốc để lưu các lần chạy huấn luyện. Mỗi lần chạy được lưu trong một thư mục con riêng biệt. |
name |
'exp' |
Xác định tên của thử nghiệm. Nếu không được chỉ định, YOLO sẽ tăng tên này cho mỗi lần chạy (ví dụ: exp , exp2 ) để tránh ghi đè. |
exist_ok |
False |
Xác định xem có ghi đè lên thư mục thử nghiệm hiện có hay không. True cho phép ghi đè; False ngăn chặn nó. |
plots |
False |
Kiểm soát việc tạo và lưu các đồ thị huấn luyện và xác thực. Đặt thành True để tạo các biểu đồ như đường cong mất mát, độ chính xác-độ chính xác đường cong và các dự đoán mẫu để theo dõi trực quan hiệu suất. |
save |
False |
Cho phép lưu các điểm kiểm tra huấn luyện và trọng số mô hình cuối cùng. Đặt thành True để lưu trạng thái mô hình định kỳ, cho phép tiếp tục huấn luyện hoặc triển khai mô hình. |
Câu hỏi thường gặp
Làm cách nào để cải thiện hiệu suất của mô hình YOLO trong quá trình huấn luyện?
Cải thiện hiệu suất bằng cách điều chỉnh các siêu tham số như kích thước lô, tốc độ học, quán tính và hệ số phân rã trọng số. Điều chỉnh cài đặt tăng cường dữ liệu, chọn trình tối ưu hóa phù hợp và sử dụng các kỹ thuật như dừng sớm hoặc độ chính xác hỗn hợp. Để biết chi tiết, hãy xem Hướng dẫn huấn luyện.
Các siêu tham số chính cho độ chính xác của mô hình YOLO là gì?
Các siêu tham số chính ảnh hưởng đến độ chính xác bao gồm:
- Kích thước lô (
batch
): Kích thước lớn hơn có thể ổn định quá trình huấn luyện nhưng cần nhiều bộ nhớ hơn. - Tỷ lệ học (Learning Rate) (
lr0
): Tỷ lệ nhỏ hơn cung cấp các điều chỉnh tốt nhưng hội tụ chậm hơn. - Động lượng (Momentum) (
momentum
): Tăng tốc các vectơ gradient, giảm dao động. - Kích thước ảnh (Image Size) (
imgsz
): Kích thước lớn hơn cải thiện độ chính xác nhưng làm tăng tải tính toán.
Điều chỉnh các thông số này dựa trên tập dữ liệu và phần cứng của bạn. Tìm hiểu thêm trong Cài đặt huấn luyện.
Làm cách nào để thiết lập tốc độ học cho việc huấn luyện mô hình YOLO?
Tỷ lệ học (learning rate) (lr0
) là rất quan trọng; hãy bắt đầu với 0.01
cho SGD hoặc 0.001
cho Trình tối ưu hóa Adam. Theo dõi các chỉ số và điều chỉnh khi cần thiết. Sử dụng bộ lập lịch tốc độ học cosine (cos_lr
) hoặc warmup (warmup_epochs
, warmup_momentum
). Chi tiết có trong Hướng dẫn Huấn luyện.
Các cài đặt suy luận mặc định cho các mô hình YOLO là gì?
Các cài đặt mặc định bao gồm:
- Ngưỡng tin cậy (Confidence Threshold) (
conf=0.25
)): Mức độ tin cậy tối thiểu cho các phát hiện. - Ngưỡng IoU (IoU Threshold) (
iou=0.7
): Cho Triệt tiêu phi cực đại (NMS). - Kích thước ảnh (Image Size) (
imgsz=640
): Thay đổi kích thước hình ảnh đầu vào. - Thiết bị (Device) (
device=None
): Chọn CPU hoặc GPU.
Để có cái nhìn tổng quan đầy đủ, hãy xem Cài đặt dự đoán và Hướng dẫn dự đoán.
Tại sao nên sử dụng huấn luyện độ chính xác hỗn hợp với các mô hình YOLO?
Độ chính xác hỗn hợp đang huấn luyện (amp=True
) giúp giảm mức sử dụng bộ nhớ và tăng tốc độ huấn luyện bằng cách sử dụng FP16 và FP32. Nó có lợi cho các GPU hiện đại, cho phép các mô hình lớn hơn và tính toán nhanh hơn mà không làm giảm đáng kể độ chính xác. Tìm hiểu thêm trong Hướng dẫn Huấn luyện.