Bỏ qua nội dung

Đào tạo mô hình với Ultralytics YOLO

Ultralytics YOLO hệ sinh thái và tích hợp

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.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with 2 GPUs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=[0, 1])
# Start training from a pretrained *.pt model using GPUs 0 and 1
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=0,1

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

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with MPS
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
# Start training from a pretrained *.pt model using MPS
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

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

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/last.pt")  # load a partially trained model

# Resume training
results = model.train(resume=True)
# Resume an interrupted training
yolo train resume model=path/to/last.pt

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 :

Ví dụ

# pip install comet_ml
import comet_ml

comet_ml.init()

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 :

Ví dụ

# pip install clearml
import clearml

clearml.browser_login()

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 :

Ví dụ

load_ext tensorboard
tensorboard --logdir ultralytics/runs  # replace with 'runs' directory

Để 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/ .

Ví dụ

tensorboard --logdir ultralytics/runs  # replace with 'runs' directory

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

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

Để 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

from ultralytics import YOLO

# Load the partially trained model
model = YOLO("path/to/last.pt")

# Resume training
results = model.train(resume=True)
yolo train resume model=path/to/last.pt

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

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n.pt")

# Train the model on Apple silicon chip (M1/M2/M3/M4)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

Để 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 .

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 1 tháng

Bình luận