python使用yacs

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())

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值