YAML使用空格缩进,yaml是json的超集
开发人员喜欢JSON,因为它是JavaScript的子集,并且可以在JavaScript内部直接解释和编写,还可以使用简写方式声明JSON,在使用不带空格的典型变量名时,键中不需要双引号。
-
在许多情况下,YAML的格式看起来更直观,不需要这么些括号{}和"". 如果您在编辑器中没有可见的空格或缩进线指示符,则YAML的空格虽然更紧凑且更易于查看,但看起来很难手动编辑。
-
与YAML相比,JSON的功能要少得多,因此JSON的序列化和反序列化速度要快得多,这使得更小更轻的代码可以处理JSON, json对于平台兼容,尤其是消息传递这块更好.。
-
python中模型的配置文件都是yaml格式----脱机处理, yaml利用空格缩进表示层级,只要具有相同的缩进就具有相同的层级,而且缩进只能用空格.
-
yaml字符串可以不用引号标注; json的字符串对象必须使用双引号""
-
大小写敏感
device: cuda
dataset:
name: ImageNet
dataset_dir: ~/datasets/ImageNet
image_size: 224
n_channels: 3
n_classes: 1000 # 具有相同缩进,属于同一层.
model:
type: imagenet
name: vgg
init_mode: kaiming_fan_out
vgg:
n_channels: [64, 128, 256, 512, 512]
n_layers: [2, 2, 3, 3, 3]
use_bn: True
dict1: {'key1':1,'key2':2} #因为是json超集,因此可以用json格式