实验管理
实验的完整记录需要以下几个方面内容:
- 日志文件:记录运行全过程的日志。
- 权重文件:运行过程中保存的权重文件,用于断点续训和测试选择最优的实验结果(提前终止训练)。
- TensorBoard文件:保存训练过程的TensorBoard可视化图,直观观察实验结果。
- 配置文件:调参过程详细记录当前运行的配置
- 文件备份代码:用于保存当前版本的代码,方便回滚。
代码组织
exp
- 实验名+日期
- runs: tensorboard保存的文件
- weights: 权重文件
- config.yml: 配置文件
- scripts: 核心文件备份
- train.py
- xxxxx.py
代码实现
import logging
import argparse
import yaml
parser = argparse.ArgumentParser("ResNet20-cifar100")
parser.add_argument('--batch_size', type=int, default=2048,
help='batch size') # 8192
parser.add_argument('--learning_rate', type=float,
default=0.1, help='init learning rate') parser.add_argument('--config', help="configuration file",
type=str, default="configs/meta.yml")
parser.add_argument('--save_dir', type=str,
help="save exp floder name"