探索 YAML 在 AI/ML 中的强大功能!使用这种通用的数据格式简化配置、简化工作流程并增强可读性。
YAML 是 "YAML 不是标记语言 "的缩写,是一种人类可读的 数据序列化标准,通常用于配置文件 文件和语言之间的数据交换。与更多冗长的格式不同,YAML 优先考虑整洁和易用性、 YAML 依靠缩进而不是括号或标签来定义结构。这种简约的方法使其成为 开发人员和数据科学家的首选。 机器学习(ML)和 人工智能(AI)领域的开发人员和数据科学家的首选。 在这些领域,清晰地定义复杂的环境和参数至关重要。您可以在 YAML 网站。
在深度学习 (DL) 领域,YAML 是 实验管理和可重现性的支柱。复杂的系统往往需要定义数百个 参数,从文件路径到数学常数。通过将这些设置外部化为 YAML 文件,研究人员可以 确保他们的训练数据配置和 模型架构与代码库保持分离。这种分离有利于 数据运维实践,并使实验设置的版本控制更容易。 实验设置的版本控制。
YAML 在现代人工智能开发堆栈中无处不在。以下是使用 YAML 的两种主要方式:
虽然 YAML 与其他格式有相似之处,但在设计理念和使用案例上却截然不同:
在使用Ultralytics YOLO11 模型时,YAML 文件是定义模型所见数据的基础。YAML文件
data 参数接受指向图像和标签的 YAML 文件。
下面的示例演示了如何使用标准数据集配置文件启动训练会话。
from ultralytics import YOLO
# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
除了直接的模型培训,YAML 还是更广泛的 MLOps生态系统不可或缺。它是 标准配置格式。 容器进行模型部署时的标准配置格式。同样,Kubernetes 也使用 YAML、 Kubernetes使用 YAML 来定义应用程序在云中的扩展方式。
GitHub Actions等自动化工具也依赖 YAML 来定义 CI/CD 工作流,确保每次推送代码时都能顺利进行自动化测试和集成。 集成顺利进行。Python 开发人员经常使用 PyYAML 库以编程方式读写这些 文件,在静态配置和动态代码执行之间架起桥梁。