什么是Yaml文件格式?
Yaml(YAML Ain’t Markup Language)是一种轻量级的文本数据序列化格式,具有易读性和可扩展性。它被设计成易于人类阅读和编写,并且易于机器解析和生成。可扩展性很强。在做模型的时候,可以把配置文件都写入YAML中,通过读取文件来构建模型的各个成分,从而快速实现模型的训练、推理、部署。
Test prompt-tip
Yaml文件格式的语法
数据类型
Yaml文件格式支持多种数据类型,包括标量、序列和映射。
- 标量:标量是指单个的数据项,可以是数值、字符串、布尔值等。
- 序列:序列是指多个数据项的有序集合,使用“-”符号表示。
- 映射:映射是指多个键值对的集合,使用“键: 值”表示。
标量
- 字符串类型的标量:例如
'John Smith'
或"2021-09-01"
,没有类型标记。 - 整数类型的标量:例如
42
或123
,没有类型标记。 - 浮点数类型的标量:例如
3.14
或0.01
,没有类型标记。 - 布尔值类型的标量:例如
true
或false
,没有类型标记。 - 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
Comments powered by Disqus.