python-yacs库的用法

原文:https://blog.csdn.net/wxtcstt/article/details/106851999

YACS 是一个轻量级的用来管理系统配置参数的库,使用*.YAML格式的文件进行参数的存储

使用方法:

1. 创建一个yaml文件如config.yaml

GPUS: (0,1,2,3)
OUTPUT_DIR: 'output'
CUDNN:
	ENABLED: true

MODEL:
	NAME: 'yolo'
	PRETRAINED: 'xx.pth'
	EXTRA:
		FINAL_CONV_KERNEL: 1
		STAGE2:
  			NUM_MODULES: 1

注意:key和value之间必须有空格,例如GPUS: (0,1,2,3)

2. 创建config.py 读取yaml文件

对每一个非叶子节点都需要new 一个CN(),例如下面的代码中的self.cfg.MODEL.EXTRA=CN()

import os

from yacs.config import CfgNode as CN

class config():

	def __init__(self):
   		self.cfg = CN()
 
    	self.cfg.GPUS= (0,1,2,3)
   	 	self.cfg.OUTPUT_DIR= 'output'
    	self.cfg.CUDNN=CN()
    	self.cfg.CUDNN.ENABLED=True
    	self.cfg.MODEL=CN()
    	self.cfg.MODEL.NAME=''
    	self.cfg.MODEL.PRETRAINED=''
   	 	self.cfg.MODEL.EXTRA=CN()
    	self.cfg.MODEL.EXTRA.FINAL_CONV_KERNEL=0
    
    	self.cfg.MODEL.EXTRA.STAGE2=CN()
    	self.cfg.MODEL.EXTRA.STAGE2.NUM_MODULES=0

	def get_cfg(self):
    	return  self.cfg.clone()

	def load(self,config_file):
     	self.cfg.OUTPUT_DIR = ''
     	self.cfg.defrost()
     	self.cfg.merge_from_file(config_file)
     	self.cfg.freeze()

if __name__ == '__main__':
	cc=config()
	cc.load("test.yaml")
	print(cc.cfg)
	print(cc.get_defalut_cfg())
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值