项目介绍:ml-cvnets
ml-cvnets 是一款功能强大的计算机视觉工具库,专为研究人员和工程师设计,帮助他们训练各类移动端和非移动端计算机视觉模型。该工具支持处理多种任务,包括物体分类、物体检测、语义分割以及基础模型(例如 CLIP)。
最新动态
在 2023 年 7 月,CVNets 库推出了 0.4 版本的新功能,包括:
- 全面支持字节级Transfomers模型(Bytes Are All You Need)
- 提供高效的线上增强功能(RangeAugment)
- 提供基础模型(CLIP)的训练和评估功能
- 引入 Mask R-CNN 模型
- 支持 EfficientNet、Swin Transformer 和 Vision Transformer
- 增强蒸馏支持
安装说明
建议采用 Python 3.10 或更新版本的 PyTorch(>= v1.12.0)来使用该工具。安装步骤如下:(需要 Conda 环境)
# 克隆代码仓库
git clone git@github.com:apple/ml-cvnets.git
cd ml-cvnets
# 创建虚拟环境并激活
conda create -n cvnets python=3.10.8
conda activate cvnets
# 安装必要的包和 CVNets 内核
pip install -r requirements.txt -c constraints.txt
pip install --editable .
快速上手
支持的模型与任务
CVNets 支持多种模型和基准测试,包括:
ImageNet 分类模型
- CNN 模型系列:MobileNetv1、MobileNetv2、MobileNetv3、EfficientNet、ResNet、RegNet
- Transformer 模型系列:Vision Transformer、MobileViTv1、MobileViTv2、SwinTransformer
多模态分类
- ByteFormer
物体检测
- SSD、Mask R-CNN
语义分割
- DeepLabv3、PSPNet
基础模型
- CLIP
自动数据增强
- RangeAugment、AutoAugment、RandAugment
蒸馏技术
- 软蒸馏、硬蒸馏
项目维护者
项目起初由 Sachin 开发,目前由 Sachin、Maxwell Horton、Mohammad Sekhavat 和 Yanzi Jin 共同维护。
苹果公司基于 CVNets 的研究成果
以下是苹果公司基于 CVNets 完成的部分研究发表:
- 轻量、通用、移动友好型 Vision Transformer(ICLR'22)
- 高性能计算机视觉库(ACM MM'22)
- 移动视觉 Transformer 的可分离自注意力机制(MobileViTv2)
- 使用 Range Learning 的高效在线增强(RangeAugment)
- 字节级 Transformers 模型(Bytes Are All You Need)
参与贡献
欢迎社区参与贡献!详细信息请参阅我们的贡献指南,并请遵循我们的行为准则。
许可证
有关许可证的详细信息,请参阅 LICENSE 文件。
引用方式
如果您觉得本项目对您有帮助,请在您的研究中引用我们的相关论文。