KalelPark's LAB

[ CLEAN CODE ] Clean Python, YACS(Yet Another Configuration System)란? 본문

Python/CLEAN CODE

[ CLEAN CODE ] Clean Python, YACS(Yet Another Configuration System)란?

kalelpark 2023. 1. 14. 14:31

YACS(Yet Another Configuration System)란?

           - YACS는 실험을 위해 설계된 소프트웨어로 시스템 구성, 정의 및 관리하기 위해 만들어진 경량 시스템이다.

              주로 머신러닝에서의 hyperparameter를 관리한다든지, Conv를 관리할 때 사용합니다.

           - 재현성이 주로 중요하므로, 실험구성을 configuration을 할 수 있는 신뢰할 수 있는 방식이 필요하다.

 

EX>

from yacs.config import CfgNode as CN


_C = CN()

_C.SYSTEM = CN()
# Number of GPUS to use in the experiment
_C.SYSTEM.NUM_GPUS = 8
# Number of workers for doing things
_C.SYSTEM.NUM_WORKERS = 4

_C.TRAIN = CN()
# A very important hyperparameter
_C.TRAIN.HYPERPARAMETER_1 = 0.1
# The all important scales for the stuff
_C.TRAIN.SCALES = (2, 4, 8, 16)

def get_cfg_defaults():
  """Get a yacs CfgNode object with default values for my_project."""
  # Return a clone so that the defaults will not be altered
  # This is for the "local variable" use pattern
  return _C.clone()

temp = get_cfg_defaults()
print(temp)
// Output

SYSTEM:
  NUM_GPUS: 8
  NUM_WORKERS: 4
TRAIN:
  HYPERPARAMETER_1: 0.1
  SCALES: (2, 4, 8, 16)

참고

https://github.com/rbgirshick/yacs

 

GitHub - rbgirshick/yacs: YACS -- Yet Another Configuration System

YACS -- Yet Another Configuration System. Contribute to rbgirshick/yacs development by creating an account on GitHub.

github.com

 

Comments