lilith.lu 994aa0c2cd 来自svn 6986 | 5 maanden geleden | |
---|---|---|
.. | ||
configs | 5 maanden geleden | |
data | 5 maanden geleden | |
dataset | 5 maanden geleden | |
depends | 5 maanden geleden | |
evaluation | 5 maanden geleden | |
model_zoo | 5 maanden geleden | |
models | 5 maanden geleden | |
structures | 5 maanden geleden | |
utils | 5 maanden geleden | |
README.md | 5 maanden geleden | |
export.py | 5 maanden geleden | |
main.py | 5 maanden geleden | |
predict.py | 5 maanden geleden | |
val.py | 5 maanden geleden |
一般情况下,我们仅需修改main.py
的parse_args()
以及configs
文件夹下配置文件即可开始训练。默认配置由common.yaml
、
dataset.yaml
和model.yaml
三部分配置文件合并组成,可以通过各自拷贝一份已有yaml
文件,并在此基础上修改得到,也可使用项目内置template.yaml
直接修改。
我们将原有myconfig.py
中参数按照目的和功能分为通用配置(./_base_/common.yaml
)、数据集配置(./_base_/datasets/...
)和模型配置(./_base_/models/...
)。
借助config._parse_from_yaml
和config._update_dic
,我们将顶层配置文件_base_
中来自不同配置文件的参数进行整合,实现参数的解析。
具体实现过程请查看utils/config.py
。
我们借助Registry机制实现自定义类或函数名的注册,方便在解析配置文件(type
对应的参数)时定位到类或函数。在每一个需要被注册的类或函数的定义部分,
我们使用@Registry.register_module
装饰器来装饰类或函数。因此当我们新增自定义的类或函数时,只需要在定义时加上装饰器即可完成注册。
目前我们实现了MODELS
、BACKBONES
、LOSSES
、DATASETS
和TRANSFORMS
五个参数组,如有需要可以自行添加新的参数组,并注意将该参数组添加
到config._load_module
。具体实现过程请查看utils/registry.py
。