术语表

JSON

了解 JSON 如何通过无缝数据交换、模型配置和实时应用简化人工智能和 ML 工作流程。

JSON 或 JavaScript Object Notation 是一种轻量级、基于文本的数据交换格式,人类易于读写,机器易于解析和生成。它最初源于 JavaScript,现已成为一种独立于语言的标准,几乎所有现代编程语言都支持它。它的简单性和灵活性使其成为数据存储、配置文件以及服务器和网络应用程序(包括由人工智能(AI)机器学习(ML)驱动的应用程序)之间通信的基石。

JSON 如何工作

JSON 以两种主要结构表示数据:

  • 对象:键值对集合,用大括号括起来 {}.键必须是字符串,值可以是字符串、数字、布尔值、数组或其他对象。这种结构非常适合表示具有多个属性的实体,如模型的配置设置。
  • 数组:有序的数值列表,用方括号括起来 [].数组中的值可以是任何有效的 JSON 数据类型。这对于存储项目列表非常有用,比如多个 边界框 物体检测模型的预测。

这种由ECMA-404 标准定义的简单语法使 JSON 文件既紧凑又易于阅读,便于调试和人工检查。

人工智能和机器学习的应用

在人工智能和 ML 领域,从数据预处理模型部署,JSON 在整个项目生命周期中都是不可或缺的。JSON 与PyTorchTensorFlow等框架的普遍兼容性确保了无缝数据流。

下面是两个常见的实际应用:

  1. 数据集注释:许多流行的计算机视觉 数据集(COCO 数据集)都使用 JSON 文件来存储注释。对于物体检测任务,JSON 文件可以定义每张图像的属性,包括文件名、尺寸和对象数组。数组中的每个对象都将包含一个类标签(如 "汽车"、"人")、置信度分数及其边界框的精确坐标。
  2. API 通信和模型输出:当像Ultralytics YOLO11这样训练有素的模型作为服务部署时,通常会通过REST API 进行通信。输入图像被发送到 API 端点,模型会以 JSON 格式返回其预测结果。这种结构化输出很容易被其他软件使用,从而可以顺利集成到从机器人智能监控系统等更大的应用中。Ultralytics HUB等平台可利用这一点有效管理模型及其输出。

JSON 与其他数据格式的对比

将 JSON 与其他常见的数据序列化格式进行比较很有帮助:

  • YAML(YAML 不是标记语言)YAML 优先考虑人类的可读性,通常是配置文件的首选,例如用于定义模型架构或超参数调整的配置文件。虽然 JSON 也可用于配置,但 YAML 基于缩进的语法通常被认为更适合复杂的嵌套结构。由于 JSON 的解析规则更简单,而且广泛支持不同的编程语言,因此在通过 API 进行数据交换时,JSON 通常更受青睐。
  • XML(可扩展标记语言)XML 是另一种人机可读的格式。不过,由于使用了开头和结尾标记,XML 比 JSON 更啰嗦,从而增加了文件大小和解析复杂性。虽然 JSON 仍用于一些企业系统和使用SOAP 的旧式网络服务,但由于其简洁高效,在现代应用程序接口和网络开发中已在很大程度上取代了 XML。

总之,JSON 的轻量级特性、人类可读性和易解析性使其成为现代人工智能系统中结构化和交换数据的一种高效且被广泛采用的格式。有关JSON基本结构和用法的更多信息,JSON.org官方网站和Mozilla 开发者网络等资源提供了很好的介绍。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、合作和成长

立即加入
链接复制到剪贴板