Giới thiệu về YAML

CI/CD cho Machine Learning

Ravi Bhadauria

Machine Learning Engineer

YAML là gì?

  • YAML: YAML Ain't Markup Language
  • Dùng cho tệp cấu hình, trao đổi dữ liệu, và biểu diễn dữ liệu có cấu trúc
  • Ngôn ngữ định dạng dữ liệu, tương tự JSON và XML
  • Cho phép chuẩn hóa định dạng để truyền dữ liệu giữa ngôn ngữ/ứng dụng
  • Đơn giản, rõ ràng
  • Phần mở rộng hợp lệ: .yaml hoặc .yml
  • Dùng để viết cấu hình cho nhiều công cụ CI/CD:
    • GitHub Actions
    • Data Version Control (DVC)
CI/CD cho Machine Learning

Cú pháp YAML

  • YAML có cấu trúc phân cấp
    • Thụt lề có ý nghĩa
  • Không được dùng tab
  • Trình kiểm tra YAML (https://www.yamllint.com/)
  • Chú thích bắt đầu bằng #
name: Ravi
occupation: Instructor
# This is a valid comment
programming_languages: # and this one too
  python: Advanced
  go: Intermediate
  scala: Beginner
CI/CD cho Machine Learning

Kiểu vô hướng trong YAML

  • Số: Số nguyên hoặc số thực
  • Boolean: true hoặc false
  • Null: từ khóa null hoặc ~
  • Chuỗi: văn bản thuần hoặc đặt trong '' hoặc ""
# Integer
42
# Floating point
3.14
# Boolean
true
# Null values
null
# String value
a: "A string in YAML"
b: 'A string in YAML'
c: A string in YAML
CI/CD cho Machine Learning

Bộ sưu tập YAML

Dãy (Sequence)

  • Còn gọi là list, array, hoặc vector
  • Viết theo hai kiểu:

    • Kiểu khối (block)

      - first
      - second
      - third
      
    • Kiểu dòng (flow)

      [first, second, third]
      

Ánh xạ (Mapping)

  • Còn gọi là dictionary, cặp khóa-giá trị, hash, hoặc object
  • Khóa duy nhất, giá trị có thể là bất kỳ dữ liệu hợp lệ
  • Khóa và giá trị phân tách bằng :
key1: value1
blocklist:
  - first
  - second
flowlist: [1.2, 2, "fifty", true]
CI/CD cho Machine Learning

Tóm tắt

  • YAML là ngôn ngữ định dạng dữ liệu
  • Hữu ích để viết cấu hình CI/CD
  • Thụt lề rất quan trọng
    • Không được dùng tab
  • Ánh xạ, dãy và vô hướng là các khối xây dựng của YAML

Một đồ thị phân cấp của cấu trúc dữ liệu YAML.

CI/CD cho Machine Learning

Bố cục bài tập trong Editor

Ảnh chú thích bố cục bài tập trong trình soạn thảo hiển thị thư mục, tệp và vùng terminal.

CI/CD cho Machine Learning

Ayo berlatih!

CI/CD cho Machine Learning

Preparing Video For Download...