The fgvcdata package implements a common API for working with Fine-Grained Visual Categorization (FGVC) datasets in PyTorch.
FGVC is becoming a popular area in computer vision, with new methods being published regularly at top CV conferences. Often, the method authors provide PyTorch code to aid in reproducing their work. Each code base ends up implementing their own version of a PyTorch API to utilize several common datasets. This leads to unnecessary duplicated effort, and often complicates things when trying to work with multiple different models and datasets.
The purposes of this package are
- to provide a unified interface for using FGVC datasets
- to make it easy to to get up and running with these datasets
- to make it convenient to add new datasets to the training process
Currently, the best method of installation is to clone this repository and
install with pip
in editable mode:
git clone https://github.com/catalys1/fgvc-data-pytorch.git
pip install -e fgvc-data-pytorch
The fgvcdata package should now be available:
>>> import fgvcdata
>>> fgvcdata.datasets
['CUB', 'CUBPlus', 'NABirds', 'StanfordCars', 'StanfordDogs', 'Aircraft', 'OxfordFlowers']
These are the currently available datasets:
- FGVC Aircraft
- Caltech UCSD Birds (CUB-200)
- Stanford Cars
- Stanford Dogs
- Oxford Flowers 102
- North American Birds (NABirds)
These datasets are publicly available online for use in research; we do not host or distribute them, or make any claims about their quality or fairness.
The images and metadata for most of the datasets can be downloaded directly through the library, similar to torchvision.datasets
. Further processing shouldn't be necessary.
The dataset classes in this package expect the data to be organized inside a root folder, containing the various image folders and metadata files in the same form as they are presented for download by the dataset host.
Contributions are welcome! Please feel free to open issues related to bug fixes, or to fix them and submit a pull request. I'd also be happy to discuss updates/changes to the library to make it more useful/usable, as well as for adding new datasets -- feel free to open an issue.