6 个算法库新功能及 Bug 修复情况
MM系列多个算法库焕新上线
向上滑动阅览
1. MMCV
Bug 修复
- 修复 test_tin_shift 的测试数据
- EvalHook 的 evaluate 方法返回值为空时打印 warning 信息
- 修复 deform conv 缺少 im2col_step 参数
- IterBasedRunner dataloader 切换至下一 epoch 时睡眠 2 秒
- 修复 BaseTransformerLayer 的权重引用问题
- 修复 WIndows 上的编译问题
- 修复 deform conv 的单元测试
- 修复环境中有多张卡时 example/train.py 报错问题
- 修复 load_from_http 获取 LOCAL_RANK 导致训练报错问题
- 添加 load_url 函数用于处理 PyTorch 不同版本之间的兼容问题
代码及文档改进
- 添加 ops 定义文档
- 优化加载 checkpoint 时打印的日志
- 使用设备分发机制重构 csrc 目录
- 更新 MMCLs 模型至 model_zoo/mmcls.json,可用于 pretrain
- 添加用于验证 mmcv-full 是否安装成功的脚本
- 修复 Registry 文档的拼写错误
- 修复 iou3d 算子 python 绑定问题
感谢
@grimoire @teamwong111 @zhouzaida @ZwwWayne @wangruohui @del-zhenwu @lzhangzz @RunningLeon @MeowZheng @luopeichao @mzr1996 @vansin @tobiasfshr @innerlee @ly015 @gaotongxiao @nbei @RangiLyu @Junjun2016 @hhaAndroid
在此版本中的贡献
2. MMDetection
新功能
- 支持绘制混淆矩阵
- 添加了 QueryInst 的预训练模型
- 支持了 Label Assignment Distillation 算法
- 对高于 1.7 版本的 PyTorch 支持了persistent_workers 功能
Bug 修复
- 修复了 aug test 在预测框为 0 时产生的错误
- 修复了 PVT 中的 SpatialReductionAttention
- 修复了 PVT 和 Swin Transformer 中 trunc_normal_init 的错误用法
- 修复重复打印 warining 的错误
- 避免分布式训练时的死锁
- 修复 Pascal VOC SSD512 的配置文件错误
- 修复转 ONNX 指令的错误
代码改进
- 将 COCO API 的输出信息保存至 log 文件
- 在加载 checkpoint 时始终 map location 至 cpu
- 当用户不设置随机种子时自动设置随机种子
- 添加鲁棒性基准测试的中文文档
- 更新 GRoIE 的 readme
- 重构了 FP16 训练的配置文件
- 与更新后的官方版 YOLOX 对齐了精度
- 对使用 PhotoMetricDistortion 数据增强的模型训练进行加速并减少内存占用
- 使 seesaw loss 支持 OHEM
感谢
@FloydHsiu, @st9007a, @jshilong, @st9007a, @hachreak, @HarborYuan, @vealocia, @chhluo, @AndreaPi, @AronLin, @BIGWangYuDong, @hhaAndroid, @RangiLyu, @ZwwWayne
在此版本中的贡献
3. MMDetection3D
Bug 修复
- 在 Dockerfile 中更新 mmcv 版本
- 修复在 init_model 中加载预训练模型时的内存泄漏问题
- 修正在 nuScenes 上格式化输出框时不正确的速度维度索引
- 在 init_model 中显式设置 cuda 设备 ID 以避免不正常的显存分配
- 修复了 PointPillars 计算量统计的错误
代码及文档改进
- 在 single_gpu_test 中给检测框内的点云染色并改进检测结果的可视化
- 清除输入参数中不必要的自定义导入
感谢
@MilkClouds, @aldakata
在此版本中的贡献
4. MMPose
新功能
- 支持了视频姿态估计算法 PoseWarper (Learning Temporal Pose Estimation from Sparsely-Labeled Videos,NeurIPS'2019)
- 支持了轻量化姿态估计主干网络 ViPNAS-MobilenetV3 (ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search,CVPR'2021)
- 增加了 Model Zoo 中 70+ 主要模型的推理速度和模型复杂度 benchmark,详见:模型推理速度汇总
- 增加了轻量化人体全身关键点预训练模型(ViPNAS + COCO-Wholebody)
- 增加了 HRNet 在 PoseTrack18 数据上的多个预训练模型
Bug 修复
- 更新了 pose tracking demo,以兼容最新版本的 MMTracking
- 更新了在 Windows 系统安装 mmpose 时因无法创建软链接导致安装失败的问题
- 更新了 AP-10K 数据集 sigmas 参数
代码及文档改进
- MobilenetV3 支持使用负数指定输出 feature 的层
- 当用户不设置随机种子时自动设置随机种子
- 增加了部分中文文档,并改进了文档质量
感谢
@edybk
在此版本中的贡献
5. MMClassification
新功能
- 支持 MLP-Mixer 主干网络
- 添加了一个可视化学习率曲线的工具,欢迎按照教程使用~
- 添加了 Pad 变换
Bug修复
- 修复 ClassBalancedDataset 不可用的问题
- 修复 analyze_result.py 和 analyze_logs.py 工具
- 修复使用 IterBasedRunner 时可能出现的问题
代码改进
- Focal loss 现在支持单标签分类任务
- 重构了 Resize 变换,支持更多功能
- 为每个算法的 README 添加了摘要和示意图
感谢
@LeoXing1996 @huoshuai-dot @imyhxy @juanjompz @okotaku @xcnick
在此版本中的贡献
6. MMSegmentation
新算法模型
- 视觉 Transformer 主干网络 Twins (NeurIPS'2021)
- 实时分割网络 STDC-Seg (CVPR'2021)
- 车道线检测常用网络 ERFNet (T-ITS'2017)
新特性
- 支持 Focal Loss
- 支持 Cutout transform
- 支持遥感图像分割数据集 LoveDA (NeurIPS'2021)
- 支持视觉 Transformer 模型 SETR 在 Cityscapes 数据集的 benchmark
- 支持实时分割网络 BiSeNetV1 在 COCO-Stuff 164K 数据集的 benchmark
- 给每个模型增加了摘要和配图
- 增加 CircleCI setup
- 增加使用 MMSegmentation 的模型去预测视频的 demo
代码改进和 BUG 修复
- 修复了若干视觉 Transformer 模型初始化错误导入的问题
- 修复了 ./tools/test.py 使用 --show-dir 时无法正常运行的问题
- 将上游 MMCV 版本升级至 1.5.0
- 修复了 SegFormer 的 EfficientMultiheadAttention