- 修复多GPU状态下重复打印日志问题
TODO list
- [x] 弄清楚logging机制
- [x] save和load模型,优化器参数
- [x] skin数据集读取测试
- [x] 构建skin project
- [x] 能否预测单张图片?
- [x] 构建一个简单的API接口
- [x] 进一步完善包导入
- [x] 设置训练epoch数量
- [X] 内建更多SOTA模型
- [x] 每个epoch输出学习率大小
- [x] resume时输出checkpoint的结果
- [x] 如果resume,则自动匹配checkpoints等路径
- [x] 优化输出日志信息
- [x] 使用albumentations做数据增强
- [x] transforms resize和randomcrop逻辑关系
- [x] 从engine中抽离出optimizer和scheduler
- [x] ~~resnet结构可能有问题,resnet50应该有98MB,但是实现只有89.7~~。(没有错,只是因为计算时将classes设置成了10,所以导致了误差)
- [x] 单机多卡多GPU测试
- [x] ~~考虑是否将finetune设置内嵌到模型中~~ (取消设置,避免模型代码臃肿)
- [x] 多GPU运行时日志会因为多线程而导致先后输出不同batch的结果,需要在结果整合后再输出结果,可以考虑将`print_log`放到`on_batch_end`里去(v0.3.0.4)
- [ ] 设置更多默认的数据集
- [ ] 完善使用文档
- [x] ~~评估使用hydra代替yacs的必要性~~(工作量太大)
- [ ] 增加config参数鲁棒性和兼容性
- [ ] 多机多卡测试
- [x] template project. 可快速基于torchline创建一个新项目
- [ ] 将`default_module`中的`parse_cfg_for_scheduler`解耦,放到`utils.py`文件中去
- [ ] checkpoint将scheduler参数也保存,同时添加设置可以跳过optimizer或scheduler的restore
- [x] multi-gpus情况下日志会生成多份,打印信息也有这种情况(v0.3.0.4)
- [ ] 文件结构重构
- [x] 适配pytorchlightning 0.7.5版本
- [x] ~~规范参数名称,尽量使用全程,如使用optimizer而不是optim 在大版本v0.3.0.0中更新~~
- [x] ~~albumentations和torchvision读取图片使用的分别是cv2和PIL,数据格式分别是numpy和PIL.Image,后面需要考虑如何统一格式。~~ (在实现transformation的时候特别处理一下)
- [ ] 增加`Module`中`print_log`通用性