hydra基础知识
1、yaml的使用
1.1 基础介绍
主要是用来写配置文件
优势:
- 层级式
- 可以写注释
安装:
pip install pyyaml
1.2 语法
2、omegaconf
2.1 基础介绍
为什么需要omegaconf?
omegaconf主要是对python原生的字典,列表类型的增强,通过omegaconf能够更好的处理yaml对象
下方笔记链接:
https://github.com/yinruiqing/hydra_tutorial/blob/main/01_omegaconf/omegaconf_note.ipynb
安装和引用
pip install omegaconf
from omegaconf import OmegaConf
2.2 如何构建一个omegaconf类
2.2.1 构建空的
conf = OmegaConf.create()
print(OmegaConf.to_yaml(conf))
2.2.2 将python字典转换为OmegaConf类型
conf = OmegaConf.create({"k" : "v", "list" : [1, {"a": "1", "b": "2", 3: "c"}]})
print(OmegaConf.to_yaml(conf))
输出:
k: v
list:
- 1
- a: '1'b: '2'3: c
2.2.3 将python列表转换为OmegaConf类型
conf = OmegaConf.create({"k" : "v", "list" : [1, {"a": "1", "b": "2", 3: "c"}]})
print(OmegaConf.to_yaml(conf))
print(type(conf))
输出:
- 1
- a: 10b:a: 10123: int_key
omegaconf.listconfig.ListConfig
2.2.4 从一个yaml文件来解析
conf = OmegaConf.load('example.yaml')
print(OmegaConf.to_yaml(conf))
输出:
server:port: 80
log:file: ???rotation: 3600
users: