目录
yacs的简介
A simple experiment configuration system for research.
yacs是作为一个轻量级库创建的,用于定义和管理系统配置,比如那些通常可以在为科学实验设计的软件中找到的配置。这些“配置”通常包括用于训练机器学习模型的超参数或可配置模型超参数(如卷积神经网络的深度)等概念。由于您正在进行科学研究,所以再现性是最重要的,因此您需要一种可靠的方法来序列化实验配置。YACS使用YAML作为一种简单的、人类可读的序列化格式。范例是:你的代码+实验E的yacs配置(+外部依赖+硬件+其他讨厌的术语…)=可重复的实验E。虽然你不能控制一切,但至少你可以控制你的代码和你的实验配置。yacs会帮你的。
yacs是在py-fast -rcnn和Detectron中使用的实验配置系统中发展起来的。
yacs的安装
pip install yacs
yacs的使用方法
1、基础用法
1. # my_project/config.py 2. from yacs.config import CfgNode as CN 3. 4. 5. _C = CN() 6. 7. _C.SYSTEM = CN() 8. # Number of GPUS to use in the experiment 9. _C.SYSTEM.NUM_GPUS = 8 10. # Number of workers for doing things 11. _C.SYSTEM.NUM_WORKERS = 4 12. 13. _C.TRAIN = CN() 14. # A very important hyperparameter 15. _C.TRAIN.HYPERPARAMETER_1 = 0.1 16. # The all important scales for the stuff 17. _C.TRAIN.SCALES = (2, 4, 8, 16) 18. 19. 20. def get_cfg_defaults(): 21. """Get a yacs CfgNode object with default values for my_project.""" 22. # Return a clone so that the defaults will not be altered 23. # This is for the "local variable" use pattern 24. return _C.clone() 25. 26. # Alternatively, provide a way to import the defaults as 27. # a global singleton: 28. # cfg = _C # users can `from config import cfg`