配置实验环境#

实验目录#

用户可以任意新建一个目录作为实验目录,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_pathdata.val_path 字段。

  • 倘若只需要随机数据(如性能评测等),请使用 FakeData

BaseCls 支持接入第三方数据源。详情见 自定义数据源

数据增强#

BaseCls 标准数据处理流程为 RandomResizedCrop -> RandomHorizontalFlip -> [augments] -> RandomErasing -> MixupCutmixCollator 。其中 [augments] 为可修改的数据增强部分,默认为 ColorAugment

BaseCls 支持自定义数据增强。详情见 自定义数据增强