apple-aiml-research/ml-cvnets

CVNets: A library for training computer vision networks

What it solves

CVNets provides a unified toolkit for training and evaluating computer vision models. It simplifies the process of developing both standard and novel architectures, specifically catering to both high-performance non-mobile models and lightweight models optimized for mobile devices.

How it works

Built on PyTorch, the library offers a comprehensive suite of tools for various vision tasks. It includes a "Model Zoo" of pre-implemented architectures and provides integrated support for advanced training techniques like soft and hard distillation and automatic data augmentation (such as RangeAugment and AutoAugment).

Who it’s for

Researchers and engineers who need to train, evaluate, and deploy computer vision models across different hardware targets, including mobile platforms.

Highlights

  • Diverse Task Support: Supports object classification, object detection (SSD, Mask R-CNN), semantic segmentation (DeepLabv3, PSPNet), and foundation models like CLIP.
  • Wide Architecture Range: Includes CNNs (MobileNet, EfficientNet, ResNet), Transformers (ViT, Swin Transformer, MobileViT), and multimodal models (ByteFormer).
  • Mobile Optimization: Specifically designed to support mobile-friendly vision transformers and provides examples for converting PyTorch models to CoreML.
  • Advanced Augmentation: Features efficient online augmentation via RangeAugment.

Related

  • Project
  • Project
  • Project
  • Project