This repository contains the source code accompanying our ICCV 2021 paper.

A Machine Teaching Framework for Scalable Recognition
Pei Wang, Nuno Vasconcelos.
In ICCV, 2021.

author = {Wang, Pei and Vasconcelos, Nuno},
title = {A Machine Teaching Framework for Scalable Recognition},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
month = {October},
year = {2021}


  1. The project was implemented and tested in Python 3.5 and Pytorch 1.0. Other versions should work after minor modification.
  2. NVIDIA GPU and cuDNN are required to have fast speeds. For now, CUDA 8.0 with cuDNN 6.0.20 has been tested. The other versions should be working.


Butterflies and Chinese Characters, Gull are used. Please organize them as below after download,

|_ butterflies_crop
  |_ images
    |_ Viceroy
    |_ ...
|_ chinese_chars
  |_ images
    |_ grass
    |_ ...
|_ CUBgull
  |_ images
    |_ CaliforniaGull
    |_ ...

Implementation details

To generate counterfactual explanations

by SimCLR model

To generate teaching images and explanations

by SimCLR model

For the SimCLR, we used repo for training. Thanks for their open-source.
For standard model, we trained by

For questions, feel free to reach out

Pei Wang: [email protected]


View Github