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格式