  Few-shot learning, especially few-shot image classification, has received
increasing attention and witnessed significant advances in recent years. Some
recent studies implicitly show that many generic techniques or ``tricks'', such
as data augmentation, pre-training, knowledge distillation, and
self-supervision, may greatly boost the performance of a few-shot learning
method. Moreover, different works may employ different software platforms,
backbone architectures and input image sizes, making fair comparisons difficult
and practitioners struggle with reproducibility. To address these situations,
we propose a comprehensive library for few-shot learning (LibFewShot) by
re-implementing eighteen state-of-the-art few-shot learning methods in a
unified framework with the same single codebase in PyTorch. Furthermore, based
on LibFewShot, we provide comprehensive evaluations on multiple benchmarks with
various backbone architectures to evaluate common pitfalls and effects of
different training tricks. In addition, with respect to the recent doubts on
the necessity of meta- or episodic-training mechanism, our evaluation results
confirm that such a mechanism is still necessary especially when combined with
pre-training. We hope our work can not only lower the barriers for beginners to
enter the area of few-shot learning but also elucidate the effects of
nontrivial tricks to facilitate intrinsic research on few-shot learning. The
source code is available from https://github.com/RL-VIG/LibFewShot.
