Đào tạo mô hình với Ultralytics YOLO
Giới thiệu
Đào tạo một mô hình học sâu bao gồm việc cung cấp dữ liệu và điều chỉnh các tham số của nó để nó có thể đưa ra dự đoán chính xác. Chế độ đào tạo trong Ultralytics YOLO11 được thiết kế để đào tạo hiệu quả và hiệu suất các mô hình phát hiện đối tượng, tận dụng tối đa các khả năng phần cứng hiện đại. Hướng dẫn này nhằm mục đích bao gồm tất cả các chi tiết bạn cần để bắt đầu đào tạo các mô hình của riêng bạn bằng cách sử dụng YOLO11 's có bộ tính năng mạnh mẽ.
Đồng hồ: Làm thế nào để đào tạo một YOLO mô hình trên Bộ dữ liệu tùy chỉnh của bạn trong Google Hợp tác.
Tại sao chọn Ultralytics YOLO để đào tạo?
Dưới đây là một số lý do thuyết phục để lựa chọn YOLO11 Chế độ tàu hỏa:
- Hiệu quả: Tận dụng tối đa phần cứng của bạn, cho dù bạn chỉ sử dụng một máy GPU thiết lập hoặc mở rộng trên nhiều GPU.
- Tính linh hoạt: Đào tạo trên các tập dữ liệu tùy chỉnh ngoài các tập dữ liệu có sẵn như COCO, VOC và ImageNet.
- Thân thiện với người dùng: Đơn giản nhưng mạnh mẽ CLI Và Python giao diện cho trải nghiệm đào tạo trực quan.
- Tính linh hoạt của siêu tham số: Một loạt các siêu tham số có thể tùy chỉnh để tinh chỉnh hiệu suất của mô hình.
Các tính năng chính của chế độ Train
Sau đây là một số tính năng đáng chú ý của YOLO11 Chế độ tàu hỏa:
- Tải xuống bộ dữ liệu tự động: Các bộ dữ liệu chuẩn như COCO, VOC và ImageNet được tải xuống tự động khi sử dụng lần đầu.
- Hỗ trợ nhiều GPU : Mở rộng quy mô đào tạo của bạn một cách liền mạch trên nhiều GPU để đẩy nhanh quá trình.
- Cấu hình siêu tham số: Tùy chọn để sửa đổi siêu tham số thông qua các tệp cấu hình YAML hoặc CLI lập luận.
- Trực quan hóa và giám sát: Theo dõi số liệu đào tạo theo thời gian thực và trực quan hóa quá trình học tập để có cái nhìn sâu sắc hơn.
Mẹo
- YOLO11 các tập dữ liệu như COCO, VOC, ImageNet và nhiều tập dữ liệu khác tự động tải xuống khi sử dụng lần đầu, tức là
yolo train data=coco.yaml
Ví dụ sử dụng
Đào tạo YOLO11n trên tập dữ liệu COCO8 trong 100 thời đại ở kích thước hình ảnh 640. Thiết bị đào tạo có thể được chỉ định bằng cách sử dụng device
đối số. Nếu không có đối số nào được thông qua GPU device=0
sẽ được sử dụng nếu có, nếu không device='cpu'
sẽ được sử dụng. Xem phần Lập luận bên dưới để biết danh sách đầy đủ các lập luận đào tạo.
Đơn- GPU Và CPU Ví dụ đào tạo
Thiết bị được xác định tự động. Nếu một GPU có sẵn thì nó sẽ được sử dụng, nếu không thì đào tạo sẽ bắt đầu vào CPU .
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.yaml") # build a new model from YAML
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640
Đa- GPU Đào tạo
Đa- GPU đào tạo cho phép sử dụng hiệu quả hơn các tài nguyên phần cứng có sẵn bằng cách phân phối tải đào tạo trên nhiều GPU. Tính năng này có sẵn thông qua cả Python API và giao diện dòng lệnh. Để kích hoạt đa GPU đào tạo, chỉ định GPU ID thiết bị bạn muốn sử dụng.
Đa- GPU Ví dụ đào tạo
Để đào tạo với 2 GPU, CUDA thiết bị 0 và 1 sử dụng các lệnh sau. Mở rộng sang các GPU bổ sung nếu cần.
Apple Silicon MPS Đào tạo
Với sự hỗ trợ cho chip silicon của Apple được tích hợp trong Ultralytics YOLO mô hình, giờ đây bạn có thể đào tạo mô hình của mình trên các thiết bị sử dụng Metal Performance Shaders mạnh mẽ ( MPS ) khung. Các MPS cung cấp giải pháp hiệu suất cao để thực hiện các tác vụ tính toán và xử lý hình ảnh trên chip silicon tùy chỉnh của Apple.
Để kích hoạt đào tạo trên chip silicon của Apple, bạn nên chỉ định ' mps ' như thiết bị của bạn khi bắt đầu quá trình đào tạo. Dưới đây là một ví dụ về cách bạn có thể thực hiện điều này trong Python và thông qua dòng lệnh:
MPS Ví dụ đào tạo
Trong khi tận dụng sức mạnh tính toán của chip silicon Apple, điều này cho phép xử lý hiệu quả hơn các tác vụ đào tạo. Để biết hướng dẫn chi tiết hơn và các tùy chọn cấu hình nâng cao, vui lòng tham khảo tài liệu PyTorch MPS .
Tiếp tục các buổi đào tạo bị gián đoạn
Tiếp tục đào tạo từ trạng thái đã lưu trước đó là một tính năng quan trọng khi làm việc với các mô hình học sâu. Điều này có thể hữu ích trong nhiều tình huống khác nhau, chẳng hạn như khi quá trình đào tạo bị gián đoạn đột ngột hoặc khi bạn muốn tiếp tục đào tạo một mô hình với dữ liệu mới hoặc trong nhiều kỷ nguyên hơn.
Khi việc đào tạo được tiếp tục, Ultralytics YOLO tải trọng số từ mô hình đã lưu cuối cùng và cũng khôi phục trạng thái trình tối ưu hóa, trình lập lịch tốc độ học và số kỷ nguyên. Điều này cho phép bạn tiếp tục quá trình đào tạo liền mạch từ nơi nó đã dừng lại.
Bạn có thể dễ dàng tiếp tục đào tạo trong Ultralytics YOLO bằng cách thiết lập resume
lập luận cho True
khi gọi train
phương pháp và chỉ định đường dẫn đến .pt
tệp chứa trọng số mô hình được đào tạo một phần.
Dưới đây là một ví dụ về cách tiếp tục quá trình đào tạo bị gián đoạn bằng cách sử dụng Python và thông qua dòng lệnh:
Ví dụ về đào tạo sơ yếu lý lịch
Bằng cách thiết lập resume=True
, các train
chức năng sẽ tiếp tục đào tạo từ nơi nó dừng lại, sử dụng trạng thái được lưu trữ trong tệp 'path/to/last.pt'. Nếu resume
đối số bị bỏ qua hoặc được đặt thành False
, các train
chức năng này sẽ bắt đầu một phiên đào tạo mới.
Hãy nhớ rằng các điểm kiểm tra được lưu vào cuối mỗi kỷ nguyên theo mặc định hoặc theo các khoảng thời gian cố định bằng cách sử dụng save_period
lập luận, vì vậy bạn phải hoàn thành ít nhất 1 kỷ nguyên để tiếp tục chạy huấn luyện.
Cài đặt tàu hỏa
Các thiết lập đào tạo cho YOLO mô hình bao gồm nhiều siêu tham số và cấu hình khác nhau được sử dụng trong quá trình đào tạo. Các thiết lập này ảnh hưởng đến hiệu suất, tốc độ và độ chính xác của mô hình. Các thiết lập đào tạo chính bao gồm kích thước lô, tốc độ học, động lượng và giảm trọng số. Ngoài ra, lựa chọn trình tối ưu hóa, hàm mất mát và thành phần tập dữ liệu đào tạo có thể ảnh hưởng đến quá trình đào tạo. Việc điều chỉnh và thử nghiệm cẩn thận với các thiết lập này là rất quan trọng để tối ưu hóa hiệu suất.
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 .pt mô hình được đào tạo trước 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 ). Tệp này chứa các tham số cụ thể của tập dữ liệu, bao gồm các đường dẫn đến đào tạo và dữ liệu xác thực, tên lớp và số lượng lớp. |
epochs |
100 |
Tổng số kỷ nguyên đào tạo. Mỗi kỷ nguyên đại diện cho một lần chạy đầy đủ trên toàn bộ tập dữ liệu. Việc điều chỉnh giá trị này có thể ảnh hưởng đến thời lượng đào tạo và hiệu suất mô hình. |
time |
None |
Thời gian đào tạo tối đa tính bằng giờ. Nếu được thiết lập, điều này sẽ ghi đè epochs lập luận, cho phép đào tạo tự động dừng lại sau khoảng thời gian đã chỉ định. Hữu ích cho các tình huống đào tạo bị giới hạn thời gian. |
patience |
100 |
Số kỷ nguyên phải chờ mà không cải thiện số liệu xác thực trước khi dừng đào tạo sớm. Giúp ngăn ngừa tình trạng quá khớp bằng cách dừng đào tạo khi hiệu suất đạt đến mức ổn định. |
batch |
16 |
Kích thước lô, với ba chế độ: đặt thành số nguyên (ví dụ: batch=16 ), chế độ tự động ở mức 60% GPU sử dụng bộ nhớ (batch=-1 ), hoặc chế độ tự động với tỷ lệ sử dụng được chỉ định (batch=0.70 ). |
imgsz |
640 |
Kích thước hình ảnh mục tiêu để đào tạo. Tất cả hình ảnh được thay đổi kích thước theo kích thước này trước khi đưa vào mô hình. Ảnh hưởng đến độ chính xác của mô hình và độ phức tạp tính toán. |
save |
True |
Cho phép lưu các điểm kiểm tra đào tạo và trọng số mô hình cuối cùng. Hữu ích cho việc tiếp tục đào tạo hoặc triển khai mô hình . |
save_period |
-1 |
Tần suất lưu điểm kiểm tra mô hình, được chỉ định theo thời gian. 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 phiên đào tạo dài. |
cache |
False |
Cho phép lưu trữ đệm các 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í tăng mức sử dụng bộ nhớ. |
device |
None |
Chỉ định các thiết bị tính toán để đào tạo: một GPU (device=0 ), nhiều GPU (device=0,1 ), CPU (device=cpu ), hoặc MPS cho silicon của Apple (device=mps ). |
workers |
8 |
Số lượng luồng công nhân để tải dữ liệu (mỗi RANK nếu Đa GPU đào tạo). Ảnh hưởng đến tốc độ xử lý dữ liệu trước và đưa vào mô hình, đặc biệt hữu ích trong nhiều GPU thiết lập. |
project |
None |
Tên của thư mục dự án nơi lưu trữ 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 đợt đà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 Đúng, cho phép ghi đè lên thư mục tên/dự án hiện có. Hữu ích cho thử nghiệm lặp đi lặp lại mà không cần phải xóa thủ công các đầu ra trước đó. |
pretrained |
True |
Xác định xem có nên bắt đầu đào tạo 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ô hình cụ thể để tải trọng số. 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à tính ổn định. |
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ả trong 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ề thuật toán không xác định. |
single_cls |
False |
Xử lý tất cả các lớp trong tập dữ liệu đa lớp như một lớp duy nhất trong quá trình đào tạo. 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 |
None |
Chỉ định danh sách ID lớp để đào tạo. Hữu ích cho việc lọc ra và chỉ tập trung vào một số lớp nhất định trong quá trình đào tạo. |
rect |
False |
Cho phép đào tạo hình chữ nhật, tối ưu hóa thành phần lô để giảm thiểu đệm. 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 |
Sử dụng bộ lập lịch tốc độ học cosin, điều chỉnh tốc độ học theo đường cong cosin qua các kỷ nguyên. Giúp quản lý tốc độ học để hội tụ tốt hơn. |
close_mosaic |
10 |
Vô hiệu hóa việc tăng cường dữ liệu khảm trong N kỷ nguyên cuối cùng để ổn định quá trình đào tạo trước khi hoàn tất. Đặt thành 0 sẽ vô hiệu hóa tính năng này. |
resume |
False |
Tiếp tục đào tạo từ điểm kiểm tra đã lưu cuối cùng. Tự động tải trọng số mô hình, trạng thái tối ưu hóa và số lượng kỷ nguyên, tiếp tục đào tạo liền mạch. |
amp |
True |
Cho phép đào tạo Độ chính xác hỗn hợp tự động (AMP), giảm mức sử dụng bộ nhớ và có thể tăng tốc quá trình đào tạo với tác động tối thiểu đến độ chính xác. |
fraction |
1.0 |
Chỉ định phần của tập dữ liệu được sử dụng để đào tạo. Cho phép đào tạo 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ế. |
profile |
False |
Cho phép lập hồ sơ ONNX Và TensorRT tốc độ trong quá trình đào tạo, hữu ích cho việc tối ưu hóa việc triển khai mô hình. |
freeze |
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ể đào tạo. Hữu ích cho việc tinh chỉnh hoặc chuyển giao học tập . |
lr0 |
0.01 |
Tỷ lệ học tập ban đầu (tức là SGD=1E-2 , Adam=1E-3 ). Việc điều chỉnh giá trị này rất quan trọng đối với 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 của tỷ lệ ban đầu = (lr0 * lrf ), được sử dụng kết hợp với trình lập lịch để điều chỉnh tốc độ học theo thời gian. |
momentum |
0.937 |
Hệ số động lượng cho SGD hoặc beta1 cho trình 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 |
0.0005 |
Thuật ngữ chính quy hóa L2, phạt các trọng số lớn để ngăn ngừa tình trạng quá khớp. |
warmup_epochs |
3.0 |
Số lượng kỷ nguyên để 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 đào tạo ngay từ đầu. |
warmup_momentum |
0.8 |
Động lượng ban đầu cho giai đoạn khởi động, dần dần điều chỉnh theo động lượng đã thiết lập trong suốt giai đoạn khởi động. |
warmup_bias_lr |
0.1 |
Tốc độ học cho các tham số sai lệch trong giai đoạn khởi động, giúp ổn định quá trình đào tạo mô hình trong các kỷ nguyên ban đầu. |
box |
7.5 |
Trọng số của thành phần mất hộp trong hàm mất mát , ảnh hưởng đến mức độ nhấn mạnh vào việc dự đoán chính xác tọa độ hộp giới hạn . |
cls |
0.5 |
Trọng số của tổn thất phân loại trong hàm tổn thất tổng thể, ảnh hưởng đến tầm quan trọng của việc 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 tư thế bị mất trong các mô hình được đào tạo để ước tính tư thế, ảnh hưởng đến việc 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 số 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 tư thế. |
nbs |
64 |
Kích thước lô danh nghĩa để chuẩn hóa tổn thất. |
overlap_mask |
True |
Xác định xem mặt nạ đối tượng có nên được hợp nhất thành một mặt nạ duy nhất để đào tạo 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 |
4 |
Tỷ lệ lấy mẫu xuống cho mặt nạ phân đoạn, ảnh hưởng đến độ phân giải của mặt nạ được sử dụng trong quá trình đào tạo. |
dropout |
0.0 |
Tỷ lệ bỏ học khi thực hiện chính quy hóa trong các tác vụ phân loại, ngăn ngừa tình trạng quá khớp bằng cách loại bỏ ngẫu nhiên các đơn vị trong quá trình đào tạo. |
val |
True |
Cho phép xác thực trong quá trình đào tạo, 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 |
False |
Tạo và lưu các biểu đồ số liệu đào tạo và xác thực, 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 lô
Các batch
đối số có thể được cấu hình theo ba cách:
- Kích thước lô cố định: Đặt giá trị số nguyên (ví dụ:
batch=16
), chỉ định trực tiếp số lượng hình ảnh cho mỗi đợt. - Chế độ tự động (60% GPU Ký ức): Sử 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ử 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 số đã chỉ định GPU sử dụng bộ nhớ.
Cài đặt tăng cường và siêu tham số
Các kỹ thuật tăng cường là cần thiết để cải thiện độ bền và hiệu suất của YOLO mô hình bằng cách đưa sự thay đổi vào dữ liệu đào tạo , giúp mô hình tổng quát hóa tốt hơn đối với dữ liệu chưa biết. Bảng sau đây phác thảo mục đích và hiệu ứng của từng đối số tăng cường:
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 sắc thái 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 hình ảnh theo một phần, ảnh hưởng đến cường độ màu. 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 nhỏ, giúp mô hình hoạt động tốt trong nhiều đ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 độ được chỉ định, cải thiện khả năng nhận dạng vật thể ở nhiều hướng khác nhau của mô hình. |
translate |
float |
0.1 |
0.0 - 1.0 |
Dịch chuyển hình ảnh theo chiều ngang và chiều dọc theo một phần nhỏ kích thước hình ảnh, hỗ trợ việc học cách phát hiện các vật thể chỉ nhìn thấy một phần. |
scale |
float |
0.5 |
>=0.0 |
Thay đổi tỷ lệ hình ảnh theo hệ số khuếch đại, mô phỏng các vật thể ở các khoảng cách khác nhau từ máy ảnh. |
shear |
float |
0.0 |
-180 - +180 |
Cắt hình ảnh theo một góc độ nhất định, mô phỏng hiệu ứng của các vật thể được nhìn từ nhiều 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 hình ảnh, tăng cường khả năng hiểu các vật thể 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 theo xác suất đã chỉ định, tăng độ biến thiên của 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 |
Đảo ngược 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 độ tin cậy cho 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 hình ảnh đào tạo thành một, mô phỏng các thành phần cảnh khác nhau và tương tác đối tượng. Rất hiệu quả để 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 đưa vào nhiễu nhãn và tính biến thiên trực quan. |
copy_paste |
float |
0.0 |
0.0 - 1.0 |
Sao chép và dán các đối tượng trên các hình ảnh, hữu ích để tăng số lượng đối tượng và học cách che khuất đối tượng. Yêu cầu nhãn phân đoạn. |
copy_paste_mode |
str |
flip |
- | Lựa chọn phương pháp tăng cường Sao chép-Dán trong số các tùy chọn của ("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 mô hình tập trung vào các đặc điểm ít rõ ràng hơn để nhận dạng. |
crop_fraction |
float |
1.0 |
0.1 - 1.0 |
Cắt ảnh phân loại thành một phần nhỏ kích thước của ảnh để làm nổi bật các đặc điểm trung tâm và thích ứng với tỷ lệ vật thể, giảm sự xao nhãng ở nền. |
Những thiết lập 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à nhiệm 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.
Thông tin
Để biết thêm thông tin về các hoạt động tăng cường đào tạo, hãy xem phần tham khảo .
Ghi nhật ký
Trong đào tạo một YOLO11 mô hình, bạn có thể thấy việc theo dõi hiệu suất của mô hình theo thời gian là rất có giá trị. Đây chính là lúc việc ghi nhật ký phát huy tác dụng. Ultralytics ' YOLO cung cấp hỗ trợ cho ba loại trình ghi nhật ký - Comet , ClearML và TensorBoard.
Để sử dụng trình ghi nhật ký, hãy chọn trình ghi nhật ký đó từ menu thả xuống trong đoạn mã ở trên và chạy trình ghi nhật ký đó. Trình ghi nhật ký đã chọn sẽ được cài đặt và khởi tạo.
Comet
Comet là một nền tảng cho phép các nhà khoa học dữ liệu và nhà phát triển theo dõi, so sánh, giải thích và tối ưu hóa các thí nghiệm và mô hình. Nó cung cấp các chức năng như số liệu thời gian thực, sự khác biệt về mã và theo dõi siêu tham số.
Để sử dụng Comet :
Nhớ đăng nhập vào tài khoản của bạn Comet tài khoản trên trang web của họ và lấy khóa API của bạn. Bạn sẽ cần thêm khóa này vào biến môi trường hoặc tập lệnh của mình để ghi lại các thử nghiệm của bạn.
ClearML
ClearML là một nền tảng mã nguồn mở tự động theo dõi các thử nghiệm và giúp chia sẻ tài nguyên hiệu quả. Nó được thiết kế để giúp các nhóm quản lý, thực hiện và tái tạo công việc ML của họ hiệu quả hơn.
Để sử dụng ClearML :
Sau khi chạy tập lệnh này, bạn sẽ cần phải đăng nhập vào ClearML tài khoản trên trình duyệt và xác thực phiên của bạn.
Bảng TensorBoard
TensorBoard là một bộ công cụ trực quan hóa cho TensorFlow . Nó cho phép bạn trực quan hóa TensorFlow biểu đồ, vẽ các số liệu định lượng về quá trình thực hiện biểu đồ của bạn và hiển thị dữ liệu bổ sung như hình ảnh đi qua biểu đồ.
Để sử dụng TensorBoard trong Google Colab :
Để sử dụng TensorBoard cục bộ, hãy chạy lệnh bên dưới và xem kết quả tại http://localhost:6006/ .
Thao tác này sẽ tải TensorBoard và chuyển hướng đến thư mục lưu nhật ký đào tạo của bạn.
Sau khi thiết lập trình ghi nhật ký, bạn có thể tiến hành đào tạo mô hình. Tất cả số liệu đào tạo sẽ được tự động ghi lại trong nền tảng bạn chọn và bạn có thể truy cập các nhật ký này để theo dõi hiệu suất của mô hình theo thời gian, so sánh các mô hình khác nhau và xác định các lĩnh vực cần cải thiện.
CÂU HỎI THƯỜNG GẶP
Làm thế nào để tôi đào tạo một mô hình phát hiện đối tượng bằng cách sử dụng Ultralytics YOLO11 ?
Để đào tạo một mô hình phát hiện đối tượng bằng cách sử dụng Ultralytics YOLO11 , bạn có thể sử dụng Python API hoặc CLI . Dưới đây là ví dụ cho cả hai:
Đơn- GPU Và CPU Ví dụ đào tạo
Để biết thêm chi tiết, hãy tham khảo phần Cài đặt tàu .
Những đặc điểm chính của là gì? Ultralytics YOLO11 Chế độ tàu hỏa?
Các tính năng chính của Ultralytics YOLO11 Chế độ Train bao gồm:
- Tải xuống bộ dữ liệu tự động: Tự động tải xuống các bộ dữ liệu chuẩn như COCO, VOC và ImageNet.
- Hỗ trợ nhiều GPU : Mở rộng quy mô đào tạo trên nhiều GPU để xử lý nhanh hơn.
- Cấu hình siêu tham số: Tùy chỉnh siêu tham số thông qua các tệp YAML hoặc CLI lập luận.
- Trực quan hóa và giám sát: Theo dõi số liệu đào tạo theo thời gian thực để có cái nhìn sâu sắc hơn.
Những tính năng này giúp việc đào tạo hiệu quả và tùy chỉnh theo nhu cầu của bạn. Để biết thêm chi tiết, hãy xem phần Các tính năng chính của Chế độ đào tạo .
Làm thế nào để tôi tiếp tục đào tạo từ một phiên bị gián đoạn trong Ultralytics YOLO11 ?
Để tiếp tục đào tạo từ một phiên bị gián đoạn, hãy đặt resume
lập luận cho True
và chỉ định đường dẫn đến điểm kiểm tra đã lưu cuối cùng.
Ví dụ về đào tạo sơ yếu lý lịch
Kiểm tra phần Tiếp tục đào tạo bị gián đoạn để biết thêm thông tin.
Tôi có thể tập luyện không? YOLO11 mô hình trên chip silicon của Apple?
Đúng, Ultralytics YOLO11 hỗ trợ đào tạo trên chip silicon của Apple sử dụng Metal Performance Shaders ( MPS ) khung. Chỉ định ' mps ' như một thiết bị luyện tập của bạn.
MPS Ví dụ đào tạo
Để biết thêm chi tiết, hãy tham khảo phần Đào tạo Apple Silicon MPS .
Cài đặt đào tạo phổ biến là gì và tôi cấu hình chúng như thế nào?
Ultralytics YOLO11 cho phép bạn cấu hình nhiều thiết lập đào tạo khác nhau như kích thước lô, tốc độ học, kỷ nguyên và nhiều hơn nữa thông qua các đối số. Sau đây là tổng quan ngắn gọn:
Lý lẽ | Mặc định | Sự miêu tả |
---|---|---|
model |
None |
Đường dẫn đến tệp mô hình để đào tạo. |
data |
None |
Đường dẫn đến tệp cấu hình tập dữ liệu (ví dụ: coco8.yaml ). |
epochs |
100 |
Tổng số kỷ nguyên đào tạo. |
batch |
16 |
Kích thước lô, có thể điều chỉnh ở chế độ số nguyên hoặc tự động. |
imgsz |
640 |
Kích thước hình ảnh mục tiêu để đào tạo. |
device |
None |
Thiết bị tính toán để đào tạo như cpu , 0 , 0,1 , hoặc mps . |
save |
True |
Cho phép lưu các điểm kiểm tra đào tạo và trọng số mô hình cuối cùng. |
Để biết hướng dẫn chi tiết về cài đặt đào tạo, hãy xem phần Cài đặt đào tạo .