深度学习项目配置参数(三)yaml和json配置文件的使用

引 言 在实际的工程项目中,深度模型运行时需从主程序中获取数据集存放位置,学习率等参数,配置参数设置常使用argparse.ArgumentParseryacs库的CfgNode两种配置方法。除此以外,也可使用最简单的yaml文件json文件传递相关配置信息。本文简单介绍yaml文件常用的功能函数和项目中的使用技巧。


一、yaml库常用功能函数介绍

1.yaml.dump()

语法:

dump(data, stream=None)

将python对象(列表或字典)序列化成YAML流并存储到文件中。
data:需要存储到文件的python对象
stream:打开数据需要写入的文件。若为空,则直接返回生成的字符串
示例:
(1)将字典对象变成yaml格式数据

config_data1 = {
   'model_1': 'alexnet', 'lr_1': 0.3}
yaml_str = yaml.dump(config_data1)
print(yaml_str)

####显示####
lr_1: 0.3
model_1: alexnet

(2)将列表对象变成yaml格式数据

config_data2 = ['cifar10','cifar100','imagenet']
yaml_str = yaml.dump(config_data2)
print(yaml_str)

####显示####
- cifar10
- cifar100
- imagenet

(3)python对象存入文件中,若多个字典对象可以嵌入到一个列表中。

config_data1 = [{
   'model_1': 'alexnet', 'lr_1': 0.3},
                {
    'model_2': 'lenet', 'lr_2': 0.1},
                {
   'model_3': 'resnet', 'lr_3': 0.01}]
yaml.dump(config_data1,open('output.yaml','w'))

output.yaml文件内容

- lr_1: 0.3
  model_1: alexnet
- lr_2: 0.1
  model_2: lenet
- lr_3: 0.01
  model_3: resnet

2.yaml.dump_all()

语法:

yaml.dump_all(documents, stream=None)

将多个python对象(列表或字典)序列化成YAML流并存储到文件中。
documents: 多个python对象组成的列表
``
示例:

config_data1 = {
   'model_1': 'alexnet', 'lr_1': 0.3}
config_data2 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值