Dataset instructions

March 27, 2025 · View on GitHub

IAP is trained and evaluated on MTIL benchmark from ZSCL. For datasets, we follow DIKI and apply the dataset splits from CoOp.

We suggest putting all datasets under the same folder to ease management and following the instructions below to organize datasets to avoid modifying the source code. The file structure looks like

$datasets/
|–– caltech-101/
|–– oxford_pets/
|–– stanford_cars/
|-- ...

The instructions to prepare each dataset are detailed below.

Caltech101

  • Create a folder named caltech-101/ under $datasets.
  • Download 101_ObjectCategories.tar.gz from https://data.caltech.edu/records/mzrjq-6wc02 and extract the file under $DATA/caltech-101.
  • Download split_zhou_Caltech101.json from this link and put it under $datasets/caltech-101.

The directory structure should look like

caltech-101/
|–– 101_ObjectCategories/
|–– split_zhou_Caltech101.json

OxfordPets

The directory structure should look like

oxford_pets/
|–– images/
|–– annotations/
|–– split_zhou_OxfordPets.json

StanfordCars

The directory structure should look like

stanford_cars/
|–– cars_test\
|–– cars_test_annos_withlabels.mat
|–– cars_train\
|–– devkit\
|–– split_zhou_StanfordCars.json

Flowers102

The directory structure should look like

oxford_flowers/
|–– cat_to_name.json
|–– imagelabels.mat
|–– jpg/
|–– split_zhou_OxfordFlowers.json

Food101

The directory structure should look like

food-101/
|–– images/
|–– license_agreement.txt
|–– meta/
|–– README.txt
|–– split_zhou_Food101.json

FGVCAircraft

The directory structure should look like

fgvc_aircraft/
|–– images/
|–– ... # a bunch of .txt files

SUN397

The directory structure should look like

sun397/
|–– SUN397/
|–– split_zhou_SUN397.json
|–– ... # a bunch of .txt files

DTD

The directory structure should look like

dtd/
|–– images/
|–– imdb/
|–– labels/
|–– split_zhou_DescribableTextures.json

EuroSAT

The directory structure should look like

eurosat/
|–– 2750/
|–– split_zhou_EuroSAT.json

MNIST

The directory structure should look like

mnist/
|–– t10k-images-idx3-ubyte
|–– t10k-labels-idx1-ubyte
|–– train-images-idx3-ubyte
|–– train-labels-idx1-ubyte

CIFAR100

The directory structure should look like

cifar100/
|–– meta
|–– test
|–– train