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. Ngôn ngữ này 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. Trong bối cảnh AI và Học máy, vai trò chính của YAML là làm cho các tệp cấu hình dễ hiểu và dễ quản lý, thu hẹp khoảng cách giữa khả năng đọc của con người và khả năng xử lý của máy.

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

YAML được thiết kế để con người có thể dễ dàng đọc và viết. Cú pháp rõ ràng và đơn giản của nó dựa vào thụt lề, thay vì dấu ngoặc hoặc thẻ, để xác định cấu trúc. Điều này làm cho các tệp YAML ít lộn xộn hơn nhiều và dễ điều hướng hơn so với các định dạng dữ liệu khác như XML hoặc JSON . Các tính năng chính bao gồm:

  • Định dạng dễ đọc đối với con người : Cú pháp của YAML nhấn mạnh vào khả năng đọc, sử dụng khoảng trắng và thụt lề để xác định cấu trúc dữ liệu phân cấp, giúp dễ hiểu và chỉnh sửa tệp cấu hình.
  • Tuần tự hóa dữ liệu : YAML có hiệu quả trong việc tuần tự hóa các cấu trúc dữ liệu, nghĩa là nó có thể chuyển đổi các đối tượng dữ liệu phức tạp thành định dạng văn bản có thể dễ dàng lưu trữ hoặc truyền đi và sau đó tái tạo lại.
  • Tệp cấu hình : YAML được sử dụng rộng rãi để viết tệp cấu hình trong các ứng dụng phần mềm, bao gồm cả AI và ML. Nó cho phép người dùng xác định các tham số, cài đặt và quy trình công việc theo cách có cấu trúc và dễ tiếp cận.
  • Không phụ thuộc vào ngôn ngữ : YAML được thiết kế để hoạt động với mọi ngôn ngữ lập trình, khiến nó trở thành lựa chọn linh hoạt cho nhiều dự án AI và ML có thể liên quan đến nhiều ngôn ngữ và khuôn khổ.
  • Tích hợp với các công cụ AI/ML : Nhiều khuôn khổ và công cụ AI và ML, chẳng hạn như PyTorchTensorFlow , hỗ trợ YAML để cấu hình, giúp đơn giản hóa việc thiết lập và tùy chỉnh các mô hình và quy trình đào tạo.

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

Trong lĩnh vực AI và ML, các tệp YAML là không thể thiếu để quản lý cấu hình, xác định kiến trúc mô hình và thiết lập đường ống đào tạo. Sau đây là một số ví dụ thực tế:

  • Cấu hình mô hình trong Ultralytics YOLO: Khi làm việc với Ultralytics YOLO các mô hình, các tệp YAML được sử dụng để xác định kiến trúc mô hình, đường dẫn tập dữ liệu, các siêu tham số đào tạo như kích thước lô và tốc độ học tập, và nhiều thiết lập khác. Ví dụ, một yolov8s.yaml tập tin chỉ định các lớp và các tham số của YOLOv8 mô hình nhỏ, cho phép người dùng dễ dàng tùy chỉnh hoặc sao chép các thí nghiệm. Các tệp cấu hình này rất cần thiết cho cả việc đào tạo các mô hình tùy chỉnh và triển khai các mô hình được đào tạo trước bằng cách sử dụng Ultralytics TRUNG TÂM.
  • Cấu hình đường ống dữ liệu : YAML cũng được sử dụng để cấu hình đường ống dữ liệu trong các dự án ML. Ví dụ, tệp YAML có thể mô tả các bước xử lý trước dữ liệu, kỹ thuật tính năng và tăng cường dữ liệu. Điều này cho phép tự động hóa và tái tạo quy trình làm việc dữ liệu, đảm bảo tính nhất quán và hiệu quả trong đào tạo mô hình .

YAML so với JSON

Mặc dù cả YAML và JSON đều là ngôn ngữ tuần tự hóa dữ liệu, YAML thường được ưa chuộng trong AI và ML để cấu hình do khả năng đọc được nâng cao của nó. JSON, mặc dù cũng có thể đọc được bằng con người ở một mức độ nào đó, sử dụng nhiều dấu câu hơn như dấu ngoặc nhọn và dấu ngoặc vuông, điều này có thể khiến các cấu hình phức tạp khó phân tích cú pháp khi nhìn thoáng qua. Việc YAML dựa vào thụt lề và cú pháp tối thiểu tạo ra các tệp cấu hình sạch hơn, trực quan hơn, giảm khả năng xảy ra lỗi và cải thiện khả năng bảo trì trong các dự án AI phức tạp.

Bằng cách sử dụng YAML, các chuyên gia AI và ML có thể quản lý và truyền đạt cấu hình hiệu quả, giúp quy trình làm việc của họ minh bạch hơn, có thể tái tạo và dễ cộng tác hơn. Tính đơn giản và thân thiện với con người của nó khiến nó trở thành một công cụ thiết yếu trong bối cảnh AI và ML.

Đọc tất cả