Skip to content

bobo0810/Classification

Repository files navigation

图像识别框架🔨

自v0.5.0版本开始,仅支持分布式训练。

!!!基于安全及合规要求,v0.7.0之后的开源版本仅修复bug,暂缓支持新特性!!!

V0.8.0之后的Wiki文档

亮点

功能 备注
模块化 解耦业务与框架 1. 易用:新任务仅修改Config/即可。
2. 扩展性强:各模块均设统一入口。
模型 集成Timm 1. 持续更新SOTA的预训练模型(600+)。
2. 轻松定制模型。
训练 集成ColossalAI 1. 大规模分布式并行、自动混合精度。
2. 梯度积累、梯度裁剪等。
可视化 集成TensorBoard 1. 数据集: 总体结构、各类占比
2. 模型: 结构、耗时、计算量、参数量等
3. 训练: 参数、损失、图像等
部署 服务器/移动端加速

支持任务

  • 图像分类✅
  • 度量学习✅ : 人像比对、图像检索等

可视化

训练
测试:支持120+评价指标
预测:类激活图

扩展框架

├── Config
│   └── config.py    训练配置
│   └── dataset.txt  数据集 
├── DataSets
│   └── preprocess.py 预处理入口
├── Models
│   ├── Backbone    主干网络入口
│   ├── Optimizer   优化器入口
│   ├── Loss        损失函数入口
│   ├── Backend     模型部署入口
│   ├── Scheduler   学习率调度器入口

训练配置

属性 支持
图像预处理 Process - ImageNet ImageNet预处理
- FaceCompare 人脸比对预处理
采样策略 Sampler - normal 常规采样
- dataset_balance 类别平衡采样(数据集维度)
- batch_balance 类别平衡采样(batch维度)⭐️
学习率调度器 Scheduler - CosineLR⭐️
- MultistepLR
优化器 Optimizer - SGD
- Adam
- Lamb
主干网络 Backbone - 600+ SOTA预训练模型
常规分类 属性 支持
损失函数 Loss - CrossEntropy
- LabelSmooth
度量学习 属性 支持
损失函数 Loss - CosFace
- ArcFace⭐️
- SubCenterArcFace
- CircleLoss

感谢

文档&开源库