术语表

YAML

探索 YAML 在 AI/ML 中的强大功能!利用这种通用数据格式简化配置、精简工作流程并提高可读性。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

YAML Ain't Markup Language(YAML)是一种人类可读的数据序列化语言,通常用于配置文件以及存储或传输数据的应用程序中。YAML 设计简单、易读,在人工智能(AI)和机器学习(ML)中尤其有价值,可用于管理与模型、训练流程和部署管道相关的复杂配置。其简单明了的语法使 AI/ML 工作流程更易于理解、维护和重现。

YAML 的主要功能

YAML 优先考虑人类的可读性。其结构主要依靠缩进来表示层次,类似于 Python等格式相比YAML 的文件更简洁。主要特点包括

  • 人类可读的语法:尽量少用括号或标签,使文件易于阅读和编辑。
  • 通过缩进实现结构化:使用空格(而不是制表符)定义嵌套结构,提高清晰度。
  • 支持数据结构:本机支持标量(字符串、数字、布尔值)、列表(序列)和字典(映射/键值对)等常见数据类型。
  • 评论: 允许使用 # 符号,用于文件内的文档。
  • 多功能性:可表示复杂的数据结构,适合各种配置需求。

您可以从官方的YAML 规范中了解更多有关其结构的信息。

人工智能和 ML 应用中的 YAML

YAML 文件广泛应用于人工智能和 ML 领域,用于定义和管理项目生命周期的各个方面,通过将配置与代码分离来促进一致性和协作。主要应用领域包括

YAML 与其他格式

虽然 YAML 的用途与其他数据序列化格式类似,但它具有与众不同的特点:

  • YAML 与JSON(JavaScript Object Notation) 两者都是人类可读的,支持类似的数据结构。JSON 更严格,要求在字符串周围加上引号,并使用大括号 {} 和括号 [].对于复杂的配置,YAML 通常被认为更易读,因为它使用了缩进和最少的语法。不过,JSON 更广泛地用于网络应用程序接口。更多详情请访问 JSON.org.
  • YAML 与XML(可扩展标记语言) XML 是一种标记语言,由 W3C 使用标签 (<tag>...</tag>) 来定义元素。它比 YAML 和 JSON 更啰嗦。虽然在文档结构化和验证方面功能强大(例如在 数据注释),在对可读性要求较高的配置文件中,XML 通常不如 YAML 风格简洁。

YAML 注重人类的可读性,因此是人工智能/ML 项目配置文件的绝佳选择,可简化管理并改善协作,特别是在Ultralytics HUB等平台上,这些平台可简化 ML 生命周期。

阅读全部