yaml配置文件和argparse应该是深度学习研究人员要掌握的最基础的技能了~
1. YAML配置文件
yaml文件是一种配置文件,我最早接触它是在学习yolov5的官方代码的时候。虽然之前没有怎么接触过ini、conf和py等配置文件,但是使用过yaml之后发现是真的方便,所以来总结一下yaml文件读写相关的操作。
官方文档
1、基本用法
yaml文件并不是python自带的,需要通过pip install PyYaml 指令安装。
基本规则:
- 大小写敏感
- 使用缩进表示层次关系(和python用法一致)
- 缩进时不允许使用Tab,只允许使用空格;缩进的空格数目不重要,只要相同层级的元素左对齐即可
- 和python一致,都可以使用#进行注释
yaml中的基本数据类型:字符串、整型、浮点型、布尔型、null、时间、日期
- YAML使用可打印的Unicode字符,可使用UTF-8或UTF-16
- 使用空白字符(不能使用Tab)分层,同层元素左侧对齐
- 单行注解由井字号( # )开始,可以出现在行中任何位置
- 每个清单成员以单行表示,并用短杠+空白(- )起始
- 每个杂凑表的成员用冒号+空白(: )分开键和值
- 杂凑表的键值可以用问号 (?)起始,表示多个词汇组成的键值
- 字串一般不使用引号,但必要的时候可以用引号框住
- 使用双引号表示字串时,可用倒斜线(\)进行特殊字符转义
- 区块的字串用缩排和修饰词(非必要)来和其他资料分隔,有新行保留(使用符号|)或新行折叠(使用符号>)两种方式
- 在单一档案中,可用连续三个连字号(—)区分多个档案
- 可选择性的连续三个点号(…)用来表示档案结尾(在流式传输时非常有用,不需要关闭流即可知道到达结尾处)
- 重复的内容可使从参考标记星号 (*)复制到锚点标记(&)
- 指定格式可以使用两个惊叹号 ( !! ),后面接上名称
2、创建一个yaml文件
很多时候我们都不是通过代码往一个yaml文件写入内容,而是直接新建一个yaml文件,然后和txt文本一样写入的。在pycharm项目文件夹里面点击右键new->file,输入data.yaml
在这里插入图片描述
这一点非常好:yaml可以存放不同类型的数据,并且不会改变原有数据类型,数据类型在读取时都会被原样输出。
3、读取yaml文件
一般通过yaml.load()方法读取yaml文件,然后通过关键词名称来获取想要的数据
import yaml
def read_yaml