Bỏ để qua phần nội dung

Cấu hình

YOLO settings and hyperparameters play a critical role in the model's performance, speed, and accuracy. These settings and hyperparameters can affect the model's behavior at various stages of the model development process, including training, validation, and prediction.



Xem: Mastering Ultralytics YOLO: Configuration

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

Ví dụ

yolo TASK MODE ARGS
from ultralytics import YOLO

# Load a YOLO11 model from a pre-trained weights file
model = YOLO("yolo11n.pt")

# Run MODE mode using the custom arguments ARGS (guess TASK)
model.MODE(ARGS)

Đâu:

Mặc định ARG Các giá trị được xác định trên trang này từ cfg/defaults.yaml tệp.

Nhiệm vụ

YOLO Các mô hình có thể được sử dụng cho nhiều nhiệm vụ khác nhau, bao gồm phát hiện, phân đoạn, phân loại và tư thế. Các nhiệm vụ này khác nhau về loại đầu ra mà chúng tạo ra và vấn đề cụ thể mà chúng được thiết kế để giải quyết.

  • Phát hiện: Để xác định và bản địa hóa các đối tượng hoặc khu vực quan tâm trong hình ảnh hoặc video.
  • Phân đoạn: Để chia hình ảnh hoặc video thành các vùng hoặc pixel tương ứng với các đối tượng hoặc lớp khác nhau.
  • Phân loại: Để dự đoán nhãn lớp của hình ảnh đầu vào.
  • Tư thế: Để xác định các đối tượng và ước tính các điểm chính của chúng trong hình ảnh hoặc video.
  • OBB: Các hộp giới hạn định hướng (tức là xoay) phù hợp với hình ảnh vệ tinh hoặc y tế.
Lý lẽ Mặc định Sự miêu tả
task 'detect' Chỉ định YOLO nhiệm vụ cần thực hiện. Các tùy chọn bao gồm detect for object detection, segment để phân khúc, classify để phân loại, pose để ước tính tư thế và obb cho các hộp giới hạn định hướng. Mỗi nhiệm vụ được điều chỉnh theo các loại đầu ra cụ thể và các vấn đề trong phân tích hình ảnh và video.

Hướng dẫn nhiệm vụ

Chế độ

YOLO Các mô hình có thể được sử dụng ở các chế độ khác nhau tùy thuộc vào vấn đề cụ thể mà bạn đang cố gắng giải quyết. Các chế độ này bao gồm:

  • Train: For training a YOLO11 model on a custom dataset.
  • Val: For validating a YOLO11 model after it has been trained.
  • Predict: For making predictions using a trained YOLO11 model on new images or videos.
  • Export: For exporting a YOLO11 model to a format that can be used for deployment.
  • Track: For tracking objects in real-time using a YOLO11 model.
  • Benchmark: For benchmarking YOLO11 exports (ONNX, TensorRT, etc.) speed and accuracy.
Lý lẽ Mặc định Sự miêu tả
mode 'train' Chỉ định chế độ trong đó YOLO mô hình hoạt động. Các tùy chọn là train để đào tạo mô hình, val để xác nhận, predict để suy luận về dữ liệu mới, export để chuyển đổi mô hình sang định dạng triển khai, track để theo dõi đối tượng, và benchmark để đánh giá hiệu suất. Mỗi chế độ được thiết kế cho các giai đoạn khác nhau của vòng đời mô hình, từ phát triển đến triển khai.

Hướng dẫn chế độ

Cài đặt tàu

The training settings for YOLO models encompass various hyperparameters and configurations used during the training process. These settings influence the model's performance, speed, and accuracy. Key training settings include batch size, learning rate, momentum, and weight decay. Additionally, the choice of optimizer, loss function, and training dataset composition can impact the training process. Careful tuning and experimentation with these settings are crucial for optimizing performance.

Lý lẽ Mặc định Sự miêu tả
model None Chỉ định tệp mô hình để đào tạo. Chấp nhận đường dẫn đến một trong hai .pt mô hình được đào tạo sẵn hoặc một .yaml tệp cấu hình. Cần thiết để xác định cấu trúc mô hình hoặc khởi tạo trọng số.
data None Đường dẫn đến tệp cấu hình tập dữ liệu (ví dụ: coco8.yaml). This file contains dataset-specific parameters, including paths to training and validation data, class names, and number of classes.
epochs 100 Total number of training epochs. Each epoch represents a full pass over the entire dataset. Adjusting this value can affect training duration and model performance.
time None Thời gian đào tạo tối đa tính bằng giờ. Nếu được đặt, thao tác này sẽ ghi đè epochs đối số, cho phép đào tạo tự động dừng sau khoảng thời gian quy định. Hữu ích cho các tình huống đào tạo hạn chế về thời gian.
patience 100 Number of epochs to wait without improvement in validation metrics before early stopping the training. Helps prevent overfitting by stopping training when performance plateaus.
batch 16 Batch size, with three modes: set as an integer (e.g., batch=16), chế độ tự động cho 60% GPU Sử dụng bộ nhớ (batch=-1), hoặc chế độ tự động với phân số sử dụng được chỉ định (batch=0.70).
imgsz 640 Target image size for training. All images are resized to this dimension before being fed into the model. Affects model accuracy and computational complexity.
save True Enables saving of training checkpoints and final model weights. Useful for resuming training or model deployment.
save_period -1 Tần suất lưu các điểm kiểm tra mô hình, được chỉ định trong các kỷ nguyên. Giá trị -1 sẽ vô hiệu hóa tính năng này. Hữu ích để lưu các mô hình tạm thời trong các buổi đào tạo dài.
cache False Cho phép lưu vào bộ nhớ đệm của hình ảnh tập dữ liệu trong bộ nhớ (True/ram), trên đĩa (disk), hoặc vô hiệu hóa nó (False). Cải thiện tốc độ đào tạo bằng cách giảm I / O đĩa với chi phí sử dụng bộ nhớ tăng lên.
device None Chỉ định (các) thiết bị tính toán để đào tạo: một thiết bị duy nhất GPU (device=0), nhiều GPU (device=0,1), CPU (device=cpu), hoặc MPS cho Apple silicon (device=mps).
workers 8 Số luồng thợ để tải dữ liệu (mỗi RANK nếu Multi-GPU đào tạo). Ả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 đa -GPU Thiết lập.
project None Tên của thư mục dự án nơi lưu kết quả đào tạo. Cho phép lưu trữ có tổ chức các thí nghiệm khác nhau.
name None Tên của cuộc chạy đào tạo. Được sử dụng để tạo một thư mục con trong thư mục dự án, nơi lưu trữ nhật ký đào tạo và đầu ra.
exist_ok False Nếu True, cho phép ghi đè lên một thư mục dự án / tên 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ả đầu ra trước đó.
pretrained True Xác định xem có nên bắt đầu đào tạo từ một mô hình được đào tạo 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 lượng. Nâng cao hiệu quả đào tạo và hiệu suất mô hình.
optimizer 'auto' Lựa chọn trình tối ưu hóa để đào tạo. Các tùy chọn bao gồm SGD, Adam, AdamW, NAdam, RAdam, RMSProp v.v., hoặc auto để lựa chọn tự động dựa trên cấu hình mô hình. Ảnh hưởng đến tốc độ hội tụ và độ ổn định.
verbose False Cho phép đầu ra chi tiết trong quá trình đào tạo, cung cấp nhật ký chi tiết và cập nhật tiến độ. Hữu ích cho việc gỡ lỗi và giám sát chặt chẽ quá trình đào tạo.
seed 0 Đặt hạt giống ngẫu nhiên để đào tạo, đảm bảo khả năng tái tạo kết quả trên các lần chạy có cùng cấu hình.
deterministic True Buộc sử dụng thuật toán xác đị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ế về các thuật toán không xác định.
single_cls False Xử lý tất cả các lớp trong bộ dữ liệu nhiều lớp như một lớp duy nhất trong quá trình đào tạo. Hữu ích cho các nhiệm 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.
rect False Cho phép đào tạo hình chữ nhật, tối ưu hóa thành phần hàng loạt để đệm tối thiểu. 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.
cos_lr False Utilizes a cosine learning rate scheduler, adjusting the learning rate following a cosine curve over epochs. Helps in managing learning rate for better convergence.
close_mosaic 10 Disables mosaic data augmentation in the last N epochs to stabilize training before completion. Setting to 0 disables this feature.
resume False Tiếp tục đào tạo từ trạm kiểm soát đã lưu cuối cùng. Tự động tải trọng lượng mô hình, trạng thái tối ưu hóa và số kỷ nguyên, tiếp tục đào tạo liền mạch.
amp True Enables Automatic Mixed Precision (AMP) training, reducing memory usage and possibly speeding up training with minimal impact on accuracy.
fraction 1.0 Chỉ định phần nhỏ của tập dữ liệu để sử dụng cho đào tạo. Cho phép đào tạo trên một tập hợp con của tập dữ liệu đầy đủ, hữu ích cho các thí nghiệm hoặc khi tài nguyên bị hạn chế.
profile False Cho phép lập hồ sơ ONNX và TensorRT Tốc độ trong quá trình đào tạo, hữu ích để tối ưu hóa việc triển khai mô hình.
freeze None Freezes the first N layers of the model or specified layers by index, reducing the number of trainable parameters. Useful for fine-tuning or transfer learning.
lr0 0.01 Tỷ lệ học tập ban đầu (tức là SGD=1E-2, Adam=1E-3) . Điều chỉnh giá trị này là 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ố mô hình.
lrf 0.01 Tỷ lệ học tập cuối cùng là một phần nhỏ của tỷ lệ 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 tập theo thời gian.
momentum 0.937 Momentum factor for SGD or beta1 for Adam optimizers, influencing the incorporation of past gradients in the current update.
weight_decay 0.0005 L2 regularization term, penalizing large weights to prevent overfitting.
warmup_epochs 3.0 Số kỷ nguyên cho tỷ lệ học tập nóng lên, tăng dần tỷ lệ học từ giá trị thấp lên tỷ lệ học ban đầu để ổn định đào tạo sớm.
warmup_momentum 0.8 Động lực ban đầu cho giai đoạn khởi động, dần dần điều chỉnh theo động lượng đã đặt trong giai đoạn khởi động.
warmup_bias_lr 0.1 Tỷ lệ học tập cho các thông số thiên vị trong giai đoạn khởi động, giúp ổn định đào tạo mô hình trong các kỷ nguyên ban đầu.
box 7.5 Weight of the box loss component in the loss function, influencing how much emphasis is placed on accurately predicting bounding box coordinates.
cls 0.5 Trọng lượng của tổn thất phân loại trong hàm tổn thất toàn phần, ảnh hưởng đến tầm quan trọng của dự đoán lớp chính xác so với các thành phần khác.
dfl 1.5 Trọng lượng của tổn thất tiêu cự phân phối, được sử dụng trong một số YOLO phiên bản để phân loại chi tiết.
pose 12.0 Trọng lượng của việc mất tư thế trong các mô hình được đào tạo để ước tính tư thế, ảnh hưởng đến sự nhấn mạnh vào việc dự đoán chính xác các điểm chính của tư thế.
kobj 2.0 Trọng lượng của sự mất mát đối tượng điểm chính 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ế.
label_smoothing 0.0 Áp dụng làm mịn nhãn, làm mềm nhãn cứng cho hỗn hợp nhãn đích và phân phối đồng đều trên nhãn, có thể cải thiện khái quát hóa.
nbs 64 Kích thước lô danh nghĩa để bình thường hóa tổn thất.
overlap_mask True Determines whether segmentation masks should overlap during training, applicable in instance segmentation tasks.
mask_ratio 4 Tỷ lệ downsample cho mặt nạ phân đoạn, ảnh hưởng đến độ phân giải của khẩu trang được sử dụng trong quá trình đào tạo.
dropout 0.0 Tỷ lệ bỏ học để chính quy hóa trong các nhiệm vụ phân loại, ngăn chặn tình trạng quá tải bằng cách bỏ qua ngẫu nhiên các đơn vị trong quá trình huấn luyện.
val True Cho phép xác nhận trong quá trình đào tạo, cho phép đánh giá định kỳ hiệu suất mô hình trên một tập dữ liệu riêng biệt.
plots False Tạo và lưu các biểu đồ của các chỉ số đào tạo và xác nhận, cũng như các ví dụ dự đoán, cung cấp thông tin chi tiết trực quan về hiệu suất mô hình và tiến trình học tập.

Lưu ý về Cài đặt kích thước hàng loạt

Các batch Đối số có thể được cấu hình theo ba cách:

  • Fixed Batch Size: Đặt giá trị số nguyên (ví dụ: batch=16), chỉ định trực tiếp số lượng hình ảnh trên mỗi đợt.
  • Chế độ tự động (60% GPU Bộ nhớ):Dùng batch=-1 để tự động điều chỉnh kích thước lô hàng cho khoảng 60% CUDA sử dụng bộ nhớ.
  • Chế độ tự động với phân số sử dụng: Đặt giá trị phân số (ví dụ: batch=0.70) để điều chỉnh kích thước lô dựa trên phần được chỉ định của GPU sử dụng bộ nhớ.

Hướng dẫn tàu hỏa

Dự đoán cài đặt

Cài đặt dự đoán cho YOLO Các mô hình bao gồm một loạt 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 trong quá trình suy luận trên dữ liệu mới. Điều chỉnh cẩn thận và thử nghiệm với các cài đặt này là điều cần thiết để đạt được hiệu suất tối ưu cho một tác vụ cụ thể. Các cài đặt chính bao gồm ngưỡng tin cậy, ngưỡng Ngăn chặn Không Tối đa (NMS) và số lượng lớp được xem xét. Các yếu tố bổ sung ảnh hưởng đến quá trình dự đoán là kích thước và định dạng dữ liệu đầu vào, sự hiện diện của các tính năng bổ sung như mặt nạ hoặc nhiều nhãn trên mỗi hộp và tác vụ cụ thể mà mô hình được sử dụng.

Lập luận suy luận:

Lý lẽ Kiểu Mặc định Sự miêu tả
source str 'ultralytics/assets' Specifies the data source for inference. Can be an image path, video file, directory, URL, or device ID for live feeds. Supports a wide range of formats and sources, enabling flexible application across different types of input.
conf float 0.25 Đặt ngưỡng tin cậy tối thiểu để 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 dương tính giả.
iou float 0.7 Intersection Over Union (IoU) threshold for Non-Maximum Suppression (NMS). Lower values result in fewer detections by eliminating overlapping boxes, useful for reducing duplicates.
imgsz int or tuple 640 Xác định kích thước hình ảnh để suy luận. Có thể là một số nguyên duy nhất 640 for square resizing or a (height, width) tuple. Proper sizing can improve detection accuracy and processing speed.
half bool False Enables half-precision (FP16) inference, which can speed up model inference on supported GPUs with minimal impact on accuracy.
device str None Chỉ định thiết bị để 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 cụ thể GPUhoặc các thiết bị điện toán khác để thực thi mô hình.
max_det int 300 Số lần phát hiện tối đa được phép cho 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 suy luận duy nhất, ngăn chặn đầu ra quá mức trong các cảnh dày đặc.
vid_stride int 1 Sải chân khung hình cho đầu vào video. Cho phép bỏ qua các khung hình trong video để tăng tốc độ xử lý với chi phí phân giải tạm thời. Giá trị 1 xử lý mọi khung, giá trị cao hơn bỏ qua khung.
stream_buffer bool False Determines whether to queue incoming frames for video streams. If False, old frames get dropped to accomodate new frames (optimized for real-time applications). If `True', queues new frames in a buffer, ensuring no frames get skipped, but will cause latency if inference FPS is lower than stream FPS.
visualize bool False Kích hoạt trực quan hóa các tính nă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à giải thích mô hình.
augment bool False Cho phép tăng thời gian kiểm tra (TTA) cho các dự đoán, có khả năng cải thiện độ mạnh phát hiện với chi phí là tốc độ suy luận.
agnostic_nms bool False Cho phép ngăn chặn không tối đa bất khả tri lớp (NMS), kết hợp các hộp chồng chéo của các lớp khác nhau. Hữu ích trong các tình huống phát hiện nhiều lớp trong đó sự chồng chéo lớp là phổ biến.
classes list[int] None Lọc các dự đoán cho một tập hợp ID lớp. Chỉ những 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 nhiệm vụ phát hiện nhiều lớp.
retina_masks bool False Sử dụng mặt nạ phân đoạn có độ phân giải cao nếu có sẵn trong mô hình. Điều này có thể nâng cao chất lượng mặt nạ cho các nhiệm vụ phân đoạn, cung cấp chi tiết tốt hơn.
embed list[int] None Specifies the layers from which to extract feature vectors or embeddings. Useful for downstream tasks like clustering or similarity search.

Đối số trực quan hóa:

Lý lẽ Kiểu Mặc định Sự miêu tả
show bool False Nếu True, hiển thị hình ảnh hoặc video có chú thích trong cửa sổ. Hữu ích cho 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 hoặc True Enables saving of the annotated images or videos to file. Useful for documentation, further analysis, or sharing results. Defaults to True when using CLI & False when used in Python.
save_frames bool False Khi xử lý video, hãy 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 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 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. Tăng cường chi tiết có sẵn để xử lý hậu kỳ và phân tích.
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 bộ 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 phát hiện trong đầu ra hình ảnh. 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 phát hiện cùng với nhãn. Cung cấp cái nhìn sâu sắc về sự 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 nhận dạng trực quan và vị trí của các đối tượng trong hình ảnh hoặc khung video.
line_width None hoặc int None Chỉ định chiều rộng đường của các hộp giới hạn. Nếu None, chiều rộng dòng đượ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 cho rõ ràng.

Hướng dẫn dự đoán

Cài đặt xác thực

Cài đặt val (xác thực) cho YOLO Các mô hình liên quan đến các siêu tham số và cấu hình khác nhau được sử dụng để đánh giá hiệu suất của mô hình trên tập dữ liệu xác thực. Các cài đặt này ảnh hưởng đến hiệu suất, tốc độ và độ chính xác của mô hình. Thường YOLO Cài đặt xác thực bao gồm kích thước lô, tần suất xác thực trong quá trình đào tạo và số liệu đánh giá hiệu suất. Các yếu tố khác ảnh hưởng đến quá trình xác thực bao gồm kích thước và thành phần của tập dữ liệu xác thực, cũng như nhiệm vụ cụ thể mà mô hình được sử dụng.

Lý lẽ Kiểu Mặc định Sự miêu tả
data str None Chỉ định đường dẫn đến tệp cấu hình tập dữ liệu (ví dụ: coco8.yaml). This file includes paths to validation data, class names, and number of classes.
imgsz int 640 Xác định kích thước của hình ảnh đầu vào. Tất cả các hình ảnh được thay đổi kích thước theo kích thước này trước khi xử lý.
batch int 16 Đặt số lượng hình ảnh mỗi đợt. Dùng -1 cho AutoBatch, tự động điều chỉnh dựa trên GPU Tính khả dụng của bộ nhớ.
save_json bool False Nếu True, lưu kết quả vào tệp JSON để phân tích thêm hoặc tích hợp với các công cụ khác.
save_hybrid bool False Nếu True, lưu phiên bản kết hợp của nhãn kết hợp chú thích gốc với dự đoán mô hình bổ sung.
conf float 0.001 Đặt ngưỡng tin cậy tối thiểu để phát hiện. Các phát hiện có độ tin cậy dưới ngưỡng này sẽ bị loại bỏ.
iou float 0.6 Sets the Intersection Over Union (IoU) threshold for Non-Maximum Suppression (NMS). Helps in reducing duplicate detections.
max_det int 300 Giới hạn số lần phát hiện tối đa cho mỗi hình ảnh. Hữu ích trong các cảnh dày đặc để tránh phát hiện quá mức.
half bool True Enables half-precision (FP16) computation, reducing memory usage and potentially increasing speed with minimal impact on accuracy.
device str None Chỉ định thiết bị để xác thực (cpu, cuda:0, v.v.). Cho phép linh hoạt trong việc sử dụng CPU hoặc GPU tài nguyên.
dnn bool False Nếu True, uses the Mở CV DNN module for ONNX model inference, offering an alternative to PyTorch inference methods.
plots bool False Khi được đặt thành True, tạo và lưu các biểu đồ dự đoán so với sự thật cơ bản để đánh giá trực quan về hiệu suất của mô hình.
rect bool False Nếu True, sử dụng suy luận hình chữ nhật để trộn, giảm đệm và có khả năng tăng tốc độ và hiệu quả.
split str val Xác định phần tách tập dữ liệu để sử dụng để xác thực (val, testhoặc train). Cho phép linh hoạt trong việc lựa chọn phân khúc dữ liệu để đánh giá hiệu suất.

Careful tuning and experimentation with these settings are crucial to ensure optimal performance on the validation dataset and detect and prevent overfitting.

Hướng dẫn Val

Xuất cài đặt

Xuất cài đặt cho YOLO Các mô hình bao gồm các cấu hình và tùy chọn liên quan đến việc lưu hoặc xuất mô hình để sử dụng trong các môi trường hoặc nền tảng khác nhau. Các cài đặt này có thể ảnh hưởng đến hiệu suất, kích thước và khả năng tương thích của mô hình với các hệ thống khác nhau. Cài đặt xuất chính bao gồm định dạng tệp mô hình đã xuất (ví dụ: ONNX, TensorFlow SavedModel), thiết bị đích (ví dụ: CPU, GPU), và các tính năng bổ sung như khẩu trang hoặc nhiều nhãn trên mỗi hộp. Quá trình xuất cũng có thể bị ảnh hưởng bởi nhiệm vụ cụ thể của mô hình và các yêu cầu hoặc ràng buộc của môi trường hoặc nền tảng đích.

Lý lẽ Kiểu Mặc định Sự miêu tả
format str 'torchscript' Định dạng đích cho mô hình đã xuất, chẳng hạn như 'onnx', 'torchscript', 'tensorflow'hoặc các môi trường khác, xác định khả năng tương thích với các môi trường triển khai khác nhau.
imgsz int hoặc tuple 640 Kích thước hình ảnh mong muốn cho đầu vào mô hình. Có thể là số nguyên cho hình vuông hoặc bộ dữ liệu (height, width) cho các kích thước cụ thể.
keras bool False Enables export to Keras format for TensorFlow SavedModel, providing compatibility with TensorFlow serving and APIs.
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.
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ợ.
int8 bool False Activates INT8 quantization, further compressing the model and speeding up inference with minimal accuracy loss, primarily for edge devices.
dynamic bool False Cho phép kích thước đầu vào động cho ONNX, TensorRT và OpenVINO xuất khẩu, tăng cường tính linh hoạt trong việc xử lý các kích thước hình ảnh khác nhau.
simplify bool True Đơn giản hóa biểu đồ mô hình cho ONNX xuất khẩu với onnxslim, có khả năng cải thiện hiệu suất và khả năng tương thích.
opset int None Chỉ định ONNX Phiên bản opset để tương thích với khác nhau ONNX Trình phân tích cú pháp và thời gian chạy. Nếu không được đặt, hãy sử dụng phiên bản được hỗ trợ mới nhất.
workspace float 4.0 Đặt kích thước không gian làm việc tối đa trong GiB cho TensorRT tối ưu hóa, cân bằng giữa việc sử dụng bộ nhớ và hiệu suất.
nms bool False Thêm chế áp không tối đa (NMS) vào CoreML xuất khẩu, cần thiết để xử lý hậu kỳ phát hiện chính xác và hiệu quả.
batch int 1 Chỉ định kích thước suy luận hàng loạt 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 chế độ.

Điều quan trọng là phải cấu hình chu đáo các cài đặt này để đảm bảo mô hình đã xuất được tối ưu hóa cho trường hợp sử dụng dự định và hoạt động hiệu quả trong môi trường đích.

Hướng dẫn xuất khẩu

Cài đặt tăng cường

Augmentation techniques are essential for improving the robustness and performance of YOLO models by introducing variability into the training data, helping the model generalize better to unseen data. The following table outlines the purpose and effect of each augmentation argument:

Lý lẽ Kiểu Mặc định Phạm vi Sự miêu tả
hsv_h float 0.015 0.0 - 1.0 Điều chỉnh màu sắc của hình ảnh bằng một phần nhỏ của bánh xe màu, giới thiệu 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 Làm thay đổi độ bão hòa của hình ảnh một phần, ả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 Sửa đổi giá trị (độ sáng) của hình ảnh theo một phân số, giúp người mẫu hoạt động tốt trong các điều kiện ánh sáng khác nhau.
degrees float 0.0 -180 - +180 Xoay hình ảnh ngẫu nhiên trong phạm vi độ quy định, cải thiện khả năng nhận dạng đối tượng của mô hình ở các hướng khác nhau.
translate float 0.1 0.0 - 1.0 Dịch hình ảnh theo chiều ngang và chiều dọc bằng một phần kích thước hình ảnh, hỗ trợ học cách phát hiện các đối tượng có thể nhìn thấy một phần.
scale float 0.5 >=0.0 Chia tỷ lệ hình ảnh theo hệ số khuếch đại, 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 Cắt hình ảnh ở một mức độ xác định, bắt chước hiệu ứng của các đối tượng được nhìn từ các góc khác nhau.
perspective float 0.0 0.0 - 0.001 Áp dụng chuyển đổi phối cảnh ngẫu nhiên cho hình ả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 hình ảnh với xác suất được chỉ định, tăng sự biến đổi dữ liệu mà không ảnh hưởng đến đặc điểm của đối tượng.
fliplr float 0.5 0.0 - 1.0 Lật hình ả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 độ bền để sắp xếp thứ tự kênh không chính xác.
mosaic float 1.0 0.0 - 1.0 Kết hợp bốn hình ảnh đào tạo thành một, mô phỏng các bố cục cảnh và tương tác đối tượng khác nhau. Hiệu quả cao để hiểu cảnh phức tạp.
mixup float 0.0 0.0 - 1.0 Kết hợp hai hình ảnh và nhãn của chúng, tạo ra một hình ảnh tổng hợp. Tăng cường khả năng khái quát hóa của mô hình bằng cách giới thiệu nhiễu nhãn và biến thiên thị giác.
copy_paste float 0.0 0.0 - 1.0 Sao chép các đối tượng từ một hình ảnh và dán chúng vào một hình ảnh khác, hữu ích cho việc tăng các trường hợp đối tượng và tìm hiểu tắc đối tượng.
copy_paste_mode str flip - Copy-Paste augmentation method selection among the options of ("flip", "mixup").
auto_augment str randaugment - Tự động áp dụng chính sách tăng cường được xác định trước (randaugment, autoaugment, augmix), tối ưu hóa cho các nhiệm vụ phân loại bằng cách đa dạng hóa các tính năng trực quan.
erasing float 0.4 0.0 - 0.9 Xóa ngẫu nhiên một phần hình ảnh trong quá trình đào tạo phân loại, khuyến khích người mẫu tập trung vào các tính năng ít rõ ràng hơn để nhận dạng.
crop_fraction float 1.0 0.1 - 1.0 Cắt hình ảnh phân loại thành một phần kích thước của nó để nhấn mạnh các tính năng trung tâm và thích ứng với tỷ lệ đối tượng, giảm phiền nhiễu nền.

Các cài đặt này có thể được điều chỉnh để đáp ứng các yêu cầu cụ thể của tập dữ liệu và tác vụ trong tầm tay. 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 tối ưu dẫn đến hiệu suất mô hình tốt nhất.

Ghi nhật ký, trạm kiểm soát và cài đặt vẽ đồ thị

Ghi nhật ký, điểm kiểm tra, vẽ đồ thị và quản lý tệp là những cân nhắc quan trọng khi đào tạo YOLO mẫu.

  • Ghi nhật ký: Thường rất hữu ích khi ghi lại các số liệu và thống kê khác nhau trong quá trình đào tạo để theo dõi tiến trình của mô hình và chẩn đoán bất kỳ vấn đề nào có thể phát sinh. Điều này có thể được thực hiện bằng cách sử dụng thư viện ghi nhật ký như TensorBoard hoặc bằng cách viết thông báo nhật ký vào tệp.
  • Điểm kiểm tra: Đó là một thực hành tốt để lưu các điểm kiểm tra của mô hình đều đặn trong quá trình đào tạo. Điều này cho phép bạn tiếp tục đào tạo từ thời điểm trước đó nếu quá trình đào tạo bị gián đoạn hoặc nếu bạn muốn thử nghiệm với các cấu hình đào tạo khác nhau.
  • Vẽ sơ đồ: Hình dung hiệu suất và tiến trình đào tạo của mô hình có thể hữu ích để hiểu cách mô hình hoạt động và xác định các vấn đề tiềm ẩn. Điều này có thể được thực hiện bằng cách sử dụng thư viện vẽ đồ thị như matplotlib hoặc bằng cách tạo các ô bằng thư viện ghi nhật ký như TensorBoard.
  • Quản lý tệp: Quản lý các tệp khác nhau được tạo trong quá trình đào tạo, chẳng hạn như điểm kiểm tra mô hình, tệp nhật ký và lô, có thể là một thách thức. Điều quan trọng là phải có cấu trúc tệp rõ ràng và có tổ chức để theo dõi các tệp này và giúp dễ dàng truy cập và phân tích chúng khi cần.

Ghi nhật ký, điểm kiểm tra, vẽ đồ thị và quản lý tệp hiệu quả có thể giúp bạn theo dõi tiến trình của mô hình và giúp gỡ lỗi và tối ưu hóa quá trình đào tạo dễ dàng hơn.

Lý lẽ Mặc định Sự miêu tả
project 'runs' Chỉ định thư mục gốc để lưu các lần chạy đào tạo. Mỗi lần chạy sẽ được lưu trong một thư mục con riêng biệt trong thư mục này.
name 'exp' Xác định tên của thí nghiệm. Nếu không được chỉ định, YOLO Tự động tăng tên này cho mỗi lần chạy, ví dụ: exp, exp2, v.v., để tránh ghi đè lên các thí nghiệm trước đó.
exist_ok False Xác định xem có nên ghi đè lên thư mục thử nghiệm hiện có hay không nếu một thư mục có cùng tên đã tồn tại. Đặt tùy chọn này thành True cho phép ghi đè, trong khi False ngăn chặn nó.
plots False Kiểm soát việc tạo và lưu các lô đào tạo và xác nhận. Đặt thành True to create plots such as loss curves, precision-recall curves, and sample predictions. Useful for visually tracking model performance over time.
save False Cho phép tiết kiệm các trạm kiểm soát đào tạo và trọng lượng mô hình cuối cùng. Đặt thành True để định kỳ lưu các trạng thái mô hình, cho phép đào tạo được nối lại từ các trạm kiểm soát hoặc mô hình sẽ được triển khai.

FAQ

Làm cách nào để cải thiện hiệu suất của YOLO Mô hình trong quá trình đào tạo?

Improving YOLO model performance involves tuning hyperparameters like batch size, learning rate, momentum, and weight decay. Adjusting augmentation settings, selecting the right optimizer, and employing techniques like early stopping or mixed precision can also help. For detailed guidance on training settings, refer to the Train Guide.

Các siêu tham số chính cần xem xét là gì YOLO Độ chính xác của mô hình?

Các siêu tham số chính ảnh hưởng đến YOLO Độ chính xác của mô hình bao gồm:

  • Kích thước lô (batch): Kích thước lô lớn hơn có thể ổn định đào tạo nhưng có thể yêu cầu nhiều bộ nhớ hơn.
  • Tỷ lệ học tập (lr0): Kiểm soát kích thước bước để cập nhật trọng lượng; Tỷ lệ nhỏ hơn cung cấp các điều chỉnh tốt nhưng hội tụ chậm.
  • Động lượng (momentum): Giúp tăng tốc các vectơ gradient theo đúng hướng, làm giảm dao động.
  • Kích thước hình ảnh (imgsz): Kích thước hình ảnh lớn hơn có thể cải thiện độ chính xác nhưng tăng tải tính toán.

Điều chỉnh các giá trị này dựa trên tập dữ liệu và khả năng phần cứng của bạn. Khám phá thêm trong phần Cài đặt tàu .

Làm cách nào để đặt tỷ lệ học tập để đào tạo a YOLO mẫu?

Tỷ lệ học tập (lr0) là rất quan trọng để tối ưu hóa. Một điểm khởi đầu phổ biến là 0.01 cho SGD hoặc 0.001 cho Adam. Điều cần thiết là phải theo dõi các số liệu đào tạo và điều chỉnh nếu cần thiết. Sử dụng công cụ lập lịch tỷ lệ học tập cosin (cos_lr) hoặc kỹ thuật khởi động (warmup_epochs, warmup_momentum) để tự động sửa đổi tỷ lệ trong quá trình đào tạo. Tìm thêm chi tiết trong Hướng dẫn tàu hỏa.

Cài đặt suy luận mặc định cho là gì YOLO Mô hình?

Cài đặt suy luận mặc định bao gồm:

  • Ngưỡng tin cậy (conf=0.25): Độ tin cậy tối thiểu để phát hiện.
  • Ngưỡng IoU (iou=0.7): để triệt tiêu không tối đa (NMS).
  • Kích thước hình ảnh (imgsz=640): Thay đổi kích thước hình ảnh đầu vào trước khi suy luận.
  • Thiết bị (device=None):Chọn CPU hoặc GPU để suy luận. Để có cái nhìn tổng quan toàn diện, hãy truy cập Dự đoán cài đặtHướng dẫn dự đoán.

Tại sao tôi nên sử dụng đào tạo chính xác hỗn hợp với YOLO Mô hình?

Đào tạo chính xác hỗn hợp, được kích hoạt với amp=True, giúp giảm mức sử dụng bộ nhớ và có thể tăng tốc độ đào tạo bằng cách sử dụng các ưu điểm của cả FP16 và FP32. Điều này có lợi cho các GPU hiện đại, hỗ trợ độ chính xác hỗn hợp nguyên bản, cho phép nhiều mô hình phù hợp với bộ nhớ hơn và cho phép 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 về điều này trong Hướng dẫn tàu hỏa.


📅 Created 11 months ago ✏️ Updated 5 days ago

Ý kiến