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à tăng cường khả năng đọc với định dạng dữ liệu đa năng này.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

YAML Ain't Markup Language (YAML) là ngôn ngữ tuần tự hóa dữ liệu có thể đọc được bằng con người, thường được sử dụng cho các tệp cấu hình và trong các ứng dụng lưu trữ hoặc truyền dữ liệu. Được thiết kế để đơn giản và dễ đọc, YAML đặc biệt có giá trị trong Trí tuệ nhân tạo (AI) và Học máy (ML) để quản lý các cấu hình phức tạp liên quan đến mô hình, quy trình đào tạo và đường ống triển khai. Cú pháp đơn giản của nó giúp quy trình làm việc AI/ML dễ hiểu hơn, dễ bảo trì hơn và dễ tái tạo hơn.

Các tính năng chính của YAML

YAML ưu tiên khả năng đọc của con người. Cấu trúc của nó dựa nhiều vào thụt lề để biểu thị thứ bậc, tương tự như Python , tạo ra các tệp sạch hơn so với các định dạng như XML hoặc JSON . Các đặc điểm chính bao gồm:

  • Cú pháp dễ đọc: Việc sử dụng tối thiểu dấu ngoặc hoặc thẻ giúp tệp dễ đọc và chỉnh sửa.
  • Cấu trúc thông qua thụt lề: Sử dụng khoảng trắng (không phải tab) để xác định các cấu trúc lồng nhau, giúp tăng tính rõ ràng.
  • Hỗ trợ cấu trúc dữ liệu: Hỗ trợ các kiểu dữ liệu phổ biến như số vô hướng (chuỗi, số, boolean), danh sách (chuỗi) và từ điển (ánh xạ/cặp khóa-giá trị).
  • Bình luận: Cho phép thêm bình luận bằng cách sử dụng # biểu tượng cho tài liệu trong tập tin.
  • Tính linh hoạt: Có thể biểu diễn các cấu trúc dữ liệu phức tạp phù hợp với nhiều nhu cầu cấu hình khác nhau.

Bạn có thể tìm hiểu thêm về cấu trúc của nó từ Đặc tả YAML chính thức.

YAML trong các ứng dụng AI và ML

Các tệp YAML được sử dụng rộng rãi trong bối cảnh AI và ML để xác định và quản lý nhiều khía cạnh khác nhau của vòng đời dự án, thúc đẩy tính nhất quán và cộng tác bằng cách tách cấu hình khỏi mã. Các lĩnh vực ứng dụng chính bao gồm:

YAML so với các định dạng khác

Mặc dù YAML có mục đích tương tự như các định dạng tuần tự hóa dữ liệu khác nhưng nó có những đặc điểm riêng biệt:

  • YAML so với JSON (Ký hiệu đối tượng JavaScript) : Cả hai đều có thể đọc được bằng con người và hỗ trợ các cấu trúc dữ liệu tương tự. JSON nghiêm ngặt hơn, yêu cầu dấu ngoặc kép quanh chuỗi và sử dụng dấu ngoặc nhọn {} và dấu ngoặc []. YAML thường được coi là dễ đọc hơn đối với các cấu hình phức tạp do sử dụng thụt lề và cú pháp tối thiểu. Tuy nhiên, JSON được sử dụng rộng rãi hơn cho các API web. Bạn có thể tìm thấy thêm thông tin chi tiết tại JSON.org.
  • YAML so với XML (Ngôn ngữ đánh dấu mở rộng) : XML là một ngôn ngữ đánh dấu được định nghĩa bởi W3C sử dụng thẻ (<tag>...</tag>) để định nghĩa các phần tử. Nó chi tiết hơn YAML và JSON. Mặc dù mạnh mẽ cho việc cấu trúc và xác thực tài liệu (ví dụ: trong chú thích dữ liệu), XML thường ít được ưa chuộng hơn đối với các tệp cấu hình đòi hỏi tính dễ đọc so với phong cách rõ ràng hơn của YAML.

Việc YAML tập trung vào khả năng đọc hiểu của con người khiến nó trở thành lựa chọn tuyệt vời cho các tệp cấu hình trong các dự án AI/ML, giúp đơn giản hóa việc quản lý và cải thiện khả năng cộng tác, đặc biệt là trong các nền tảng như Ultralytics HUB giúp hợp lý hóa vòng đời ML.

Đọc tất cả