/ Machine Learning

Simple way to leverage the class-specific activation of convolutional layers in PyTorch

Simple way to leverage the class-specific activation of convolutional layers in PyTorch

Torchcam: class activation explorer

Class activation maps for your PyTorch models (CAM, Grad-CAM, Grad-CAM++, Smooth Grad-CAM++, Score-CAM)

Getting started

Prerequisites

  • Python 3.6 (or more recent)
  • pip

Installation

You can install the package using pypi as follows:

pip install torchcam

or using conda:

conda install -c frgfm torchcam

Usage

You can find a detailed example below to retrieve the CAM of a specific class on a resnet architecture.

python scripts/cam_example.py --model resnet50 --class-idx 232

Torchcam

Technical roadmap

The project is currently under development, here are the objectives for the next releases:

  • [x] Parallel CAMs: enable batch processing.
  • [x] Benchmark: compare class activation map computations for different architectures.
  • [ ] Signature improvement: retrieve automatically the specific required layer names.
  • [ ] Refined RPN: create a region proposal network using CAM.
  • [ ] Task transfer: turn a well-trained classifier into an object detector.

Documentation

The full package documentation is available here for detailed specifications. The documentation was built with Sphinx using a theme provided by Read the Docs.

Contributing

Please refer to CONTRIBUTING if you wish to contribute to this project.

GitHub

Comments