配置实验环境#
实验目录#
用户可以任意新建一个目录作为实验目录,BaseCls 鼓励的实验范式是 library 与 playground 分离,每个人(组)自行维护一个 playground 目录。
模型配置文件#
一个模型通常对应一个 .py
模型配置文件,一个标准的模型配置文件如下所示:
1from basecls.configs import ResNetConfig
2
3_cfg = dict(
4 batch_size=64,
5 model=dict(
6 name="resnet50",
7 ),
8 solver=dict(
9 basic_lr=0.05,
10 ),
11)
12
13
14class ResNet50Config(ResNetConfig):
15 def __init__(self, values_or_file=None, **kwargs):
16 super().__init__(_cfg)
17 self.merge(values_or_file, **kwargs)
18
19
20Cfg = ResNet50Config
BaseCls 要求模型配置文件必须包含一个名为 Cfg
的类,该类必须为 ConfigDict
的子类。用户可以继承已有的模型配置文件并修改。
BaseCls 基于注册机制,支持接入用户自定义的网络。详情见 自定义网络 。
数据源#
倘若数据集在本地,请使用
FolderLoader
并填写data.train_path
和data.val_path
字段。倘若只需要随机数据(如性能评测等),请使用
FakeData
。
BaseCls 支持接入第三方数据源。详情见 自定义数据源 。
数据增强#
BaseCls 标准数据处理流程为 RandomResizedCrop
-> RandomHorizontalFlip
-> [augments]
-> RandomErasing
-> MixupCutmixCollator
。其中 [augments]
为可修改的数据增强部分,默认为 ColorAugment
。
BaseCls 支持自定义数据增强。详情见 自定义数据增强 。