Yolo Vision 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" (YAML không phải là Ngôn ngữ Đánh dấu), là một tiêu chuẩn tuần tự hóa dữ liệu dễ đọc, được sử dụng để ghi tệp cấu hình và truyền dữ liệu giữa các hệ thống. Thiết kế của YAML ưu tiên sự rõ ràng và đơn giản, cho phép các nhà phát triển và nhà khoa học dữ liệu định nghĩa các cấu trúc dữ liệu phức tạp theo cách dễ đọc và dễ viết. Không giống như các định dạng dài dòng hơn, YAML sử dụng thụt lề để biểu thị cấu trúc, tạo ra các tệp rõ ràng, trực quan, lý tưởng cho việc quản lý cài đặt trong các dự án phần mềm, bao gồm cả các dự án trong Học máy (ML) . Thông số kỹ thuật chính thức và tài nguyên có thể được tìm thấy tại yaml.org .

Vai trò và ứng dụng trong AI và ML

Trong bối cảnh Trí tuệ Nhân tạo (AI) , YAML là xương sống của quản lý cấu hình, đóng vai trò quan trọng trong việc đảm bảo khả năng tái tạo và đơn giản hóa việc thử nghiệm. Các dự án Học sâu (DL) thường liên quan đến nhiều thiết lập, từ kiến trúc mô hình đến các tham số huấn luyện. Việc lưu trữ các thiết lập này trong tệp YAML cho phép dễ dàng theo dõi, sửa đổi và chia sẻ các thiết lập thử nghiệm. Bạn có thể tham khảo nhanh bảng cú pháp YAML .

Hai ví dụ phổ biến trong thế giới thực về các ứng dụng AI bao gồm:

  1. Cấu hình tập dữ liệu: Trước khi huấn luyện một mô hình, bạn cần xác định tập dữ liệu. Một tệp YAML chỉ định đường dẫn đến hình ảnh huấn luyện và xác thực, số lượng lớp đối tượng và tên của các lớp đó. Phương pháp này được Ultralytics sử dụng để quản lý các tập dữ liệu như COCO. Điều này đảm bảo mô hình biết chính xác nơi tìm dữ liệu của nó và những gì nó được mong đợi học.
  2. Đào tạo và Cấu hình Siêu tham số: Tệp YAML rất phù hợp để xác định tất cả các tham số cần thiết cho một phiên huấn luyện. Điều này bao gồm chỉ định kiến trúc mô hình (ví dụ: YOLO11n), kích thước lô (batch size), learning rate (tốc độ học), số lượng epochs, và các cài đặt cho tăng cường dữ liệu. Việc tập trung các cài đặt này cho phép điều chỉnh siêu tham số và giúp các thử nghiệm dễ dàng tái tạo. Các Tài liệu của Ultralytics cung cấp các ví dụ chi tiết về các tệp cấu hình này.

So sánh YAML với các định dạng dữ liệu khác

YAML thường được so sánh với các định dạng tuần tự hóa dữ liệu khác như JSON và XML.

  • YAML so với JSON : Mặc dù về mặt chức năng tương tự nhau và YAML là siêu tập của JSON (JavaScript Object Notation) , YAML thường được ưu tiên sử dụng cho các tệp cấu hình do tính dễ đọc vượt trội. YAML loại bỏ dấu ngoặc vuông và dấu phẩy, thay vào đó là thụt lề, và quan trọng hơn, nó hỗ trợ chú thích, rất hữu ích cho việc ghi lại các lựa chọn cấu hình.
  • YAML so với XML: So với XML (eXtensible Markup Language), YAML ít dài dòng hơn nhiều. Việc XML sử dụng các thẻ mở và đóng làm cho các tệp của nó lớn hơn và khó phân tích nhanh hơn đối với con người, trong khi cú pháp tối giản của YAML được thiết kế để chỉnh sửa trực tiếp.

Hệ sinh thái và công cụ rộng lớn hơn

Tiện ích của YAML vượt xa tầm nhìn máy tính . Nó là một thành phần cơ bản trong thế giới DevOps, được sử dụng bởi các công cụ như Kubernetes để xác định các dàn dựng container và Ansible cho các playbook tự động hóa CNTT. Khái niệm này thường được gọi là Cấu hình dưới dạng Mã (CaC) .

Đối với các nhà phát triển sử dụng Python, thư viện PyYAML là một công cụ phổ biến để phân tích cú pháp và tạo dữ liệu YAML. Để ngăn ngừa lỗi cú pháp, vốn thường gặp do độ nhạy thụt lề, việc sử dụng trình xác thực YAML là một phương pháp tối ưu được khuyến nghị. Hệ sinh thái công cụ này biến YAML thành một lựa chọn mạnh mẽ để quản lý toàn bộ vòng đời MLOps , từ thiết lập ban đầu trong Jupyter Notebook đến triển khai mô hình toàn diện bằng Docker và CI/CD pipeline với các công cụ như GitHub Actions .

Tham gia cộng đồng Ultralytics

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
Đã sao chép liên kết vào clipboard