Home Yaml 文件格式使用
Post
Cancel

Yaml 文件格式使用

什么是Yaml文件格式?

Yaml(YAML Ain’t Markup Language)是一种轻量级的文本数据序列化格式,具有易读性和可扩展性。它被设计成易于人类阅读和编写,并且易于机器解析和生成。可扩展性很强。在做模型的时候,可以把配置文件都写入YAML中,通过读取文件来构建模型的各个成分,从而快速实现模型的训练、推理、部署。

Test prompt-tip

Yaml文件格式的语法

数据类型

Yaml文件格式支持多种数据类型,包括标量、序列和映射。

  • 标量:标量是指单个的数据项,可以是数值、字符串、布尔值等。
  • 序列:序列是指多个数据项的有序集合,使用“-”符号表示。
  • 映射:映射是指多个键值对的集合,使用“键: 值”表示。

标量

  • 字符串类型的标量:例如 'John Smith'"2021-09-01",没有类型标记。
  • 整数类型的标量:例如 42123,没有类型标记。
  • 浮点数类型的标量:例如 3.140.01,没有类型标记。
  • 布尔值类型的标量:例如 truefalse,没有类型标记。
  • Null类型的标量:例如 null,没有类型标记。
  • 明确指定类型的标量:例如 !!str This is a string 表示字符串类型的标量,!!int 42 表示整数类型的标量,!!float 3.14 表示浮点数类型的标量,!!bool true 表示布尔值类型的标量。

示例

下面是一个Yaml文件格式的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Scalar values
name: John Smith
age: 30
is_male: true
height: 1.8
birthday: 1990-01-01

# Sequence
fruits:
  - Apple
  - Banana
  - Orange

# Mapping
address:
  street: 123 Main St.
  city: Anytown
  state: CA
  zip: '12345'

# Custom Tags
Hero:
  name: cjl
  hp: 99999999
  attacks: !FIRE 4000 # need FIRE constructor

Python如何使用Yaml文件格式

在Python中,可以使用PyYAM

以下是一个使用PyYAML库读取Yaml文件的示例:

1
2
3
4
5
6
7
8
9
10
11
import yaml

# Read YAML file
with open('config.yaml', 'r') as file:
    config = yaml.safe_load(file)
		yaml.load("""""", Loader=yaml.UnsafeLoader/SafeLoader/BaseLoader..)

# Access data
print(config['name'])
print(config['age'])

YAML 高级用法 - Constructor & Representer

下面这个例子介绍了如何使用 Constructor & Representer 来自定义YAML文件的 load 和 dump

new.pdf

This post is licensed under CC BY 4.0 by the author.

Maintain My Server

Optimizer in Deep Learning: A summaization

Comments powered by Disqus.