Incorporating Few-Shot Learning best practices into EasyFSL!
Feature centering and normalization
Centering and normalizing features after passing through the backbone but before inference improves performance by a couple of percent with almost every method and on all benchmarks, so we added the option to extensions of the FewShotClassifier
base class.
classifier = PrototypicalNetworks(
backbone=my_backbone,
feature_centering=average_base_features,
feature_normalization=2,
)
Hyperparameter search
We added the tools to perform hyperparameter selection in scripts/hyperparameter_search.py
. You can now launch your own grid search, or reproduce ours!
Improved and extended results
We ran a new benchmark on _mini_ImageNet and _tiered_ImageNet with every available method using the best hyperparameters selected on _mini_ImageNet's validation set. You now have everything you need to select the best method for your use case!