Skip to content
/ Doraemon Public

A powerful baseline for image classification, face recognition and image retrieval with Pytorch

License

Notifications You must be signed in to change notification settings

wuji3/Doraemon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DORAEMON: Deep Object Recognition And Embedding Model Of Networks

🚀 Quick Start

Installation Guide
# Create and activate environment
python -m venv doraemon
source doraemon/bin/activate

# Install Doraemon
pip install doraemon-torch

# If you need to install in editable mode (for development)
pip install -e .

📢 What's New

  • 🎁 2025.03.16: Doraemon v0.1.0 released
  • 🎁 2024.10.01: Content-Based Image Retrieval (CBIR): Training on a real Amazon product dataset with a complete pipeline for training, end-to-end validation, and visualization. Please check ImageRetrieval.md
  • 🎁 2024.04.01: Face Recognition: Based on a cleaned MS-Celeb-1M-v1c with over 70,000 IDs and 3.6 million images, validated with LFW. Includes loss functions like ArcFace, CircleLoss, and MagFace.
  • 🎁 2023.06.01: Image Classification (IC): Given the Oxford-IIIT Pet dataset. Supports different learning rates for different layers, hard example mining, multi-label and single-label training, bad case analysis, GradCAM visualization, automatic labeling to aid semi-supervised training, and category-specific data augmentation. Refer to ImageClassification.md

✨ Highlights

  • Optimization Algorithms: Various optimization techniques to enhance model training efficiency, including SGD, Adam, and SAM (Sharpness-Aware Minimization).

  • Data Augmentation: A variety of data augmentation techniques to improve model robustness, such as CutOut, Color-Jitter, and Copy-Paste etc.

  • Regularization: Techniques to prevent overfitting and improve model generalization, including Label Smoothing, OHEM, Focal Loss, and Mixup.

  • Visualization: Integrated visualization tool to understand model decision-making, featuring GradCAM.

  • Personalized Data Augmentation: Apply exclusive data augmentation to specific classes with Class-Specific Augmentation.

  • Personalized Hyperparameter Tuning: Apply different learning rates to specific layers using Layer-Specific Learning Rates.

🚀 Deployment API

Doraemon offers incredibly simple yet powerful deployment options:

  • Local API Inference: Deploy models with just a single weight file (*.pt) - one command setup for high-performance local inference
  • Seamless HuggingFace Integration: Effortlessly deploy to the Huggingface ecosystem with full support for:
    • AutoModel.from_pretrained()
    • AutoProcessor.from_pretrained()
    • And all standard Hugging Face API interfaces

For detailed deployment instructions and ready-to-use examples, see our Deployment Guide.

📚 Tutorials

For detailed guidance on specific tasks, please refer to the following resources:

  • Image Classification: If you are working on image classification tasks, please refer to Doc: Image Classification.

  • Image Retrieval: For image retrieval tasks, please refer to Doc: Image Retrieval.

  • Face Recognition: Stay tuned.

📊 Datasets

Doraemon integrates the following datasets, allowing users to quickly start training:

🧩 Supported Models

Doraemon now supports 1000+ models through integration with Timm:

  • All models from timm.list_models(pretrained=True)
  • Including CLIP, SigLIP, DeiT, BEiT, MAE, EVA, DINO and more

Model Performance Benchmarks can help you select the most suitable model by comparing:

  • Inference speed
  • Training efficiency
  • Accuracy across different datasets
  • Parameter count vs performance trade-offs

For detailed benchmark results, see @huggingface/pytorch-image-models#1933