Thuật ngữ

JSON

Khám phá cách JSON đơn giản hóa quy trình làm việc AI và ML với trao đổi dữ liệu liền mạch, cấu hình mô hình và các ứng dụng thời gian thực.

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

Tìm hiểu thêm

JSON, hay JavaScript Object Notation, là một định dạng dữ liệu nhẹ và dễ đọc đối với con người được sử dụng rộng rãi để trao đổi dữ liệu , đặc biệt là trong các ứng dụng web và hệ thống dựa trên dữ liệu. Tính đơn giản và dễ phân tích cú pháp của máy đã biến nó thành nền tảng trong lập trình hiện đại, bao gồm cả trong lĩnh vực Trí tuệ nhân tạo (AI)Học máy (ML) . JSON tạo điều kiện cho việc trao đổi dữ liệu liền mạch, cấu hình mô hình và các ứng dụng thời gian thực hiệu quả, khiến nó trở thành một công cụ không thể thiếu đối với các nhà phát triển và nhà nghiên cứu. Nó cung cấp một cách chuẩn hóa để cấu trúc dữ liệu mà cả con người và máy tính đều có thể dễ dàng hiểu được, theo định nghĩa của Tiêu chuẩn trao đổi dữ liệu JSON ECMA-404 chính thức. Bạn cũng có thể tìm thêm thông tin tại JSON.org .

Đặc điểm chính

Cấu trúc của JSON được xây dựng dựa trên hai yếu tố cơ bản:

  1. Cặp khóa-giá trị: Bộ sưu tập các cặp tên/giá trị, thường được gọi là đối tượng, từ điển hoặc mảng liên kết trong các ngôn ngữ lập trình khác nhau. Khóa luôn là một chuỗi và giá trị có thể là một chuỗi, số, boolean, mảng hoặc một đối tượng JSON khác.
  2. Danh sách có thứ tự: Chuỗi giá trị có thứ tự, được gọi là mảng hoặc danh sách. Các giá trị trong một mảng có thể thuộc bất kỳ kiểu dữ liệu JSON hợp lệ nào.

Cấu trúc đơn giản này giúp các tệp JSON dễ tạo, đọc và sửa đổi. Nó không phụ thuộc vào ngôn ngữ, nghĩa là nó có thể được sử dụng trên nhiều ngôn ngữ lập trình khác nhau như Python và các nền tảng mà không có vấn đề về khả năng tương thích, khiến nó trở nên cực kỳ linh hoạt cho các hệ thống phân tándịch vụ siêu nhỏ .

Ứng dụng trong AI và ML

JSON đóng vai trò quan trọng trong nhiều khía cạnh của quy trình làm việc AI và ML:

  • Cấu hình mô hình : Trong khi YAML thường được ưu tiên cho các cấu hình phức tạp do khả năng đọc tốt hơn, JSON thường được sử dụng trong các lệnh gọi API để chỉ định các tham số cấu hình hoặc trong các tệp cấu hình đơn giản hơn.
  • Chú thích dữ liệu và tập dữ liệu : Trong thị giác máy tính (CV) , JSON là định dạng phổ biến để lưu trữ chú thích cho các tác vụ như phát hiện đối tượngphân đoạn hình ảnh . Các tệp chú thích thường chứa danh sách các đối tượng, mỗi đối tượng có nhãn lớp, tọa độ hộp giới hạn hoặc đa giác phân đoạn được biểu diễn ở định dạng JSON. Nhiều tập dữ liệu chuẩn như COCO sử dụng JSON cho cấu trúc chú thích của chúng.
  • Giao tiếp API : JSON là tiêu chuẩn thực tế để trao đổi dữ liệu trong API web, bao gồm cả những API được sử dụng trong các dịch vụ AI và ML. Khi tương tác với các mô hình AI được lưu trữ thông qua nền tảng điện toán đám mây hoặc các điểm cuối chuyên dụng bằng các giao thức như REST , dữ liệu đầu vào (ví dụ: URL hình ảnh, văn bản) thường được gửi dưới dạng tải trọng JSON và các dự đoán của mô hình (ví dụ: đối tượng được phát hiện, xác suất lớp, điểm tin cậy ) được trả về ở định dạng JSON. Ultralytics API suy luận sử dụng JSON để định dạng yêu cầu và phản hồi.
  • Lưu trữ kết quả mô hình : Kết quả từ suy luận hoặc đánh giá mô hình, chẳng hạn như các lớp dự đoán, hộp giới hạn hoặc số liệu hiệu suất như Độ chính xác trung bình (mAP) , có thể được lưu trữ thuận tiện trong các tệp JSON. Định dạng có cấu trúc này giúp dễ dàng phân tích cú pháp, phân tích hoặc tích hợp kết quả vào các đường ống MLOps lớn hơn.

Ví dụ thực tế

Sau đây là một số ví dụ minh họa các ứng dụng thực tế của JSON trong AI và ML:

  1. Xe tự hành: Dữ liệu cảm biến từ camera, lidar và radar trong xe tự lái thường cần được xử lý và truyền thông giữa các thành phần hệ thống khác nhau. JSON có thể được sử dụng để cấu trúc dữ liệu này, biểu diễn các đối tượng được phát hiện với các loại, vị trí, vận tốc và mức độ tin cậy của chúng, trước khi đưa vào các thuật toán ra quyết định, thường được hỗ trợ bởi các mô hình học sâu . Các công ty như Waymo dựa vào các định dạng dữ liệu mạnh mẽ cho các hệ thống phức tạp của họ.
  2. Ultralytics HUB: Khi tương tác với Ultralytics HUB theo chương trình thông qua API của nó, các yêu cầu khởi tạo công việc đào tạo, tải lên tập dữ liệu hoặc truy xuất số liệu hiệu suất mô hình thường liên quan đến việc gửi và nhận dữ liệu được định dạng dưới dạng JSON. Điều này cho phép tích hợp liền mạch các khả năng của HUB vào các quy trình làm việc và ứng dụng tùy chỉnh.

JSON so với các định dạng dữ liệu khác

Sẽ rất hữu ích khi so sánh JSON với các định dạng tuần tự hóa dữ liệu phổ biến khác:

  • YAML (YAML không phải là ngôn ngữ đánh dấu) : YAML ưu tiên khả năng đọc của con người và thường được ưu tiên cho các tệp cấu hình (ví dụ: xác định kiến trúc mô hình hoặc tham số đào tạo). Mặc dù JSON cũng có thể được sử dụng để cấu hình, cú pháp của YAML (sử dụng thụt lề) thường được coi là sạch hơn và dễ đọc hơn đối với các cấu trúc lồng nhau phức tạp. JSON thường được ưu tiên để trao đổi dữ liệu thông qua API do các quy tắc phân tích cú pháp đơn giản hơn và hỗ trợ rộng rãi.
  • XML (eXtensible Markup Language) : XML là một ngôn ngữ đánh dấu khác được sử dụng để mã hóa tài liệu theo định dạng mà cả con người và máy đều có thể đọc được. So với JSON, XML dài dòng hơn do sử dụng thẻ đóng và có xu hướng phức tạp hơn khi phân tích cú pháp. Mặc dù vẫn được sử dụng trong các hệ thống doanh nghiệp và các tiêu chuẩn cụ thể như SOAP , JSON đã thay thế phần lớn XML trong các ứng dụng web và API hiện đại do tính đơn giản và chi phí thấp hơn.

Tóm lại, bản chất nhẹ, dễ đọc và dễ phân tích cú pháp của JSON khiến nó trở thành định dạng có hiệu quả cao và được áp dụng rộng rãi để cấu trúc và trao đổi dữ liệu trong các hệ thống AI và ML, đặc biệt là để giao tiếp API và lưu trữ kết quả có cấu trúc. Khả năng tương thích của nó trên các ngôn ngữ lập trình đảm bảo tích hợp trơn tru trong các ngăn xếp công nghệ đa dạng, từ chú thích dữ liệu và giai đoạn tiền xử lý dữ liệu đến triển khai mô hình cuối cùng bằng các công cụ như Ultralytics YOLO .

Đọc tất cả