引 言yacs库作为一个管理系统配置的轻量级库,解析yaml配置文件使整个项目结构更清晰。yacs库与argparse库类似,argparse库需要在运行程序文件中定义配置参数,而yacs将配置参数可以放置在其他文件中。
文章目录
一、yacs库创建配置文件
1.1 创建配置文件
yacs库创建的配置文件名称为default.py
或者config.py
。在配置文件中需要使用核心类CfgNode
创建节点,在各节点中定义参数名称并分配默认值,各节点下的内容可以直接访问。
创建config/default.py
文件
from yacs.config import CfgNode as CN
config = CN() #主节点
config.OUTPUT_DIR = 'output_folder/'
config.LOG_DIR = 'output_folder/log_folder/'
# model parameters
config.MODEL = CN() #子节点
config.MODEL.NAME = 'Resnet'
config.MODEL.PRETRAINED = ''
# training parametes
config.TRAIN = CN()
config.TRAIN.IMAGE_SIZE = [224, 224]
config.TRAIN.EPOCH = 30
print(config) #打印配置信息
配置信息显示
LOG_DIR: output_folder/log_folder/
MODEL:
NAME: Resnet
PRETRAINED:
OUTPUT_DIR: output_folder/
TRAIN:
EPOCH: 30
IMAGE_SIZE: [224, 224]
1.2 配置参数查、增、改
可以在project\demo.py
文件中查询、增加、修改配置信息
from config.default import config
if __name__ == '__main__':
# 查询配置参数
print(config.OUTPUT_DIR) # output_folder/
print(config.MODEL.NAME) # Resnet
print('-'*50)
# 修改配置参数
config.TRAIN.EPOCH = 50
print(config.TRAIN.EPOCH) # epoch=50
print('-' * 50