Tìm hiểu cách YAML tối ưu hóa quy trình làm việc của AI. Khám phá cách sử dụng các tệp YAML để cấu hình tập dữ liệu và huấn luyện. Ultralytics YOLO26 tạo mô hình giúp thực hiện MLOps nhanh hơn, dễ dàng hơn.
YAML (YAML Ain't Markup Language) là một tiêu chuẩn tuần tự hóa dữ liệu dễ đọc, được sử dụng rộng rãi trong ngành công nghiệp phần mềm để viết các tệp cấu hình. Không giống như các ngôn ngữ đánh dấu phức tạp hơn, YAML ưu tiên định dạng gọn gàng và dễ đọc, khiến nó trở thành lựa chọn tuyệt vời cho các nhà phát triển và nhà khoa học dữ liệu cần kiểm tra hoặc sửa đổi các tham số một cách nhanh chóng. Cấu trúc đơn giản của nó dựa trên thụt lề thay vì dấu ngoặc vuông hoặc thẻ, cho phép người dùng định nghĩa các cấu trúc dữ liệu phân cấp như danh sách và từ điển với sự lộn xộn trực quan tối thiểu. Trong bối cảnh trí tuệ nhân tạo và học máy, YAML đóng vai trò là cầu nối quan trọng giữa ý định của con người và quá trình thực thi của máy móc, lưu trữ mọi thứ từ đường dẫn tập dữ liệu đến cài đặt điều chỉnh siêu tham số ở định dạng dễ kiểm soát phiên bản và chia sẻ.
Trong hoạt động học máy hiện đại (MLOps) , việc duy trì các thí nghiệm có thể tái tạo và được tổ chức là rất cần thiết. Các tệp YAML đóng vai trò như bản thiết kế cho các thí nghiệm này, gói gọn tất cả các chi tiết cấu hình cần thiết trong một tài liệu duy nhất. Các framework như mô hình Ultralytics YOLO26 phụ thuộc rất nhiều vào các tệp cấu hình này để xác định kiến trúc mô hình và giao thức huấn luyện.
Khi huấn luyện một mô hình thị giác máy tính, bạn thường cần chỉ định vị trí lưu trữ dữ liệu huấn luyện , số lượng lớp cần phát hiện và tên của các lớp đó. Thay vì mã hóa cứng các giá trị này vào... Python Thay vì sử dụng các tập lệnh có thể dẫn đến mã nguồn lộn xộn, bạn nên tách dữ liệu này thành một tệp YAML. Việc tách biệt các mối quan tâm này cho phép các nhà nghiên cứu hoán đổi tập dữ liệu hoặc điều chỉnh tốc độ học mà không cần chạm vào mã nguồn cốt lõi, tạo điều kiện thuận lợi hơn cho việc theo dõi thí nghiệm và hợp tác.
Mặc dù YAML thường được so sánh với JSON (JavaScript Object Notation) và XML (eXtensible Markup Language), nhưng chúng phục vụ các mục đích hơi khác nhau trong hệ sinh thái AI.
YAML đóng vai trò quan trọng trong nhiều giai đoạn của vòng đời phát triển trí tuệ nhân tạo:
data.yamlThông thường, biến này định nghĩa đường dẫn thư mục cho tập dữ liệu huấn luyện, xác thực và kiểm tra. Nó cũng ánh xạ các chỉ số lớp (0, 1, 2) đến tên lớp (người, xe đạp, ô tô), đảm bảo mô hình hiểu được cấu trúc dữ liệu.
Ví dụ sau đây minh họa cách một tệp YAML điển hình hoạt động như một giao diện tập dữ liệu để huấn luyện mô hình YOLO26 . Python Đoạn trích bên dưới cho thấy cách thức hoạt động của... Ultralytics Thư viện sử dụng tập tin này để bắt đầu quá trình huấn luyện.
1. Cái coco8.yaml Tệp (Khái niệm):Tệp này sẽ chứa đường dẫn đến các hình ảnh và danh sách tên lớp.
path: ../datasets/coco8 # dataset root dir
train: images/train # train images (relative to 'path')
val: images/val # val images (relative to 'path')
# Classes
names:
0: person
1: bicycle
2: car
...
2. Cách sử dụng Python : Đoạn mã này đọc cấu hình và bắt đầu quá trình huấn luyện bằng cách sử dụng các tham số đã được chỉ định.
from ultralytics import YOLO
# Load the YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Train the model using the dataset configuration defined in the YAML file
# The 'data' argument points directly to the YAML file
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
Hiểu một vài quy tắc cú pháp quan trọng sẽ giúp tránh được các lỗi thường gặp, chẳng hạn như: ScannerError hoặc
ParserErrorNhững lỗi này thường xảy ra do thụt lề không chính xác.
key: value. Ví dụ,
epochs: 100 Thiết lập số chu kỳ huấn luyện.
-Điều này hữu ích cho việc định nghĩa danh sách.
tăng cường dữ liệu các bước hoặc nhiều nguồn đầu vào.
# Chúng bị trình phân tích cú pháp bỏ qua, cho phép bạn ghi chú về những điều cụ thể.
siêu tham số trực tiếp trong tệp.
Bằng cách nắm vững YAML, các chuyên gia có thể tối ưu hóa quy trình huấn luyện mô hình , giảm thiểu lỗi cấu hình và đảm bảo các dự án AI của họ luôn có khả năng mở rộng và dễ bảo trì.