Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

YAML

Khám phá sức mạnh của YAML trong AI/ML! Đơn giản hóa cấu hình, hợp lý hóa quy trình làm việc và nâng cao khả năng đọc với định dạng dữ liệu linh hoạt này.

YAML, viết tắt của "YAML Ain't Markup Language", là một tiêu chuẩn tuần tự hóa dữ liệu dễ đọc, thường được sử dụng cho các tệp cấu hình và trao đổi dữ liệu giữa các ngôn ngữ. Không giống như các định dạng dài dòng hơn, YAML ưu tiên sự gọn gàng và dễ sử dụng, dựa vào thụt lề thay vì dấu ngoặc hoặc thẻ để xác định cấu trúc. Cách tiếp cận tối giản này khiến nó trở thành lựa chọn ưu tiên cho các nhà phát triển và nhà khoa học dữ liệu làm việc trong lĩnh vực Học máy (ML)Trí tuệ nhân tạo (AI) , nơi việc xác định rõ ràng các môi trường và tham số phức tạp là điều cần thiết. Bạn có thể tìm hiểu thông số kỹ thuật chính thức tại trang web YAML .

Vai trò của YAML trong quy trình làm việc AI

Trong lĩnh vực Học sâu (DL) , YAML đóng vai trò là xương sống cho việc quản lý và tái tạo thí nghiệm. Các hệ thống phức tạp thường yêu cầu xác định hàng trăm tham số, từ đường dẫn tệp đến các hằng số toán học. Bằng cách ngoại hóa các thiết lập này vào tệp YAML, các nhà nghiên cứu đảm bảo rằng cấu hình dữ liệu huấn luyện và kiến trúc mô hình của họ vẫn tách biệt với cơ sở mã. Sự tách biệt này tạo điều kiện thuận lợi cho các hoạt động DataOps và cho phép kiểm soát phiên bản thiết lập thí nghiệm dễ dàng hơn.

Ứng dụng thực tế trong học máy

YAML hiện diện khắp nơi trong các ngăn xếp phát triển AI hiện đại. Dưới đây là hai cách chính để sử dụng nó:

  1. Định nghĩa tập dữ liệu : Một trong những ứng dụng phổ biến nhất trong Thị giác Máy tính (CV) là định nghĩa cấu trúc tập dữ liệu. Ví dụ, khi chuẩn bị cho việc phát hiện đối tượng , tệp YAML thường chỉ định thư mục gốc cho dữ liệu huấn luyện và xác thực , số lượng lớp và tên lớp. Ultralytics sử dụng định dạng này để tải các điểm chuẩn như COCO hoặc các tập dữ liệu tùy chỉnh một cách liền mạch.
  2. Cấu hình siêu tham số : Để đạt được hiệu suất mô hình tốt nhất đòi hỏi phải tinh chỉnh siêu tham số nghiêm ngặt. Tệp YAML có thể lưu trữ các biến huấn luyện quan trọng như tốc độ học , kích thước lô , suy giảm trọng số và số kỷ nguyên . Điều này cho phép các kỹ sư chạy nhiều thí nghiệm chỉ bằng cách hoán đổi các tệp cấu hình mà không cần sửa đổi các tệp cơ bản. Python mã số.

YAML so với JSON và XML

Mặc dù YAML có nhiều điểm tương đồng với các định dạng khác, nhưng nó lại khác biệt về triết lý thiết kế và trường hợp sử dụng:

  • YAML so với JSON : JSON (Ký hiệu Đối tượng JavaScript) được sử dụng rộng rãi cho các API web. Tuy nhiên, JSON không hỗ trợ chú thích, một yếu tố quan trọng để ghi lại tài liệu thí nghiệm khoa học. YAML hỗ trợ chú thích và thường được coi là dễ đọc hơn để cấu hình, mặc dù JSON thường phân tích cú pháp nhanh hơn.
  • YAML so với XML : XML (Ngôn ngữ Đánh dấu Mở rộng) sử dụng thẻ mở và thẻ đóng, khiến tệp lớn hơn đáng kể và khó quét nhanh hơn đối với con người. Cấu trúc thụt lề của YAML giúp giảm thiểu sự lộn xộn về mặt hình ảnh, giúp nó vượt trội hơn trong việc duy trì các tệp quản lý cấu hình phần mềm .

Áp dụng YAML với Ultralytics

Khi làm việc với Ultralytics YOLO11 mô hình, các tệp YAML là cơ bản để xác định dữ liệu mà mô hình nhìn thấy. data đối số trong hàm đào tạo chấp nhận tệp YAML trỏ tới hình ảnh và nhãn của bạn.

Ví dụ sau đây minh họa cách bắt đầu phiên đào tạo bằng cách sử dụng tệp cấu hình tập dữ liệu chuẩn.

from ultralytics import YOLO

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

# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)

Tích hợp hệ sinh thái rộng hơn

Ngoài việc đào tạo mô hình trực tiếp, YAML còn là một phần không thể thiếu của hệ sinh thái MLOps rộng lớn hơn. Đây là định dạng cấu hình tiêu chuẩn cho Docker Compose khi điều phối các container để triển khai mô hình . Tương tự, Kubernetes sử dụng YAML để xác định cách các ứng dụng mở rộng trên nền tảng đám mây.

Các công cụ tự động hóa như GitHub Actions cũng dựa vào YAML để xác định quy trình làm việc CI/CD, đảm bảo rằng quá trình thử nghiệm và tích hợp tự động diễn ra suôn sẻ mỗi khi mã được đưa ra. Python các nhà phát triển thường sử dụng thư viện PyYAML để đọc và ghi các tệp này theo chương trình, thu hẹp khoảng cách giữa cấu hình tĩnh và thực thi mã động.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay