CIFAR-100
CIFAR-100 dataset
Dataset Statistics
- Color: RGB
- Sample Size: 32x32
This dataset is just like the CIFAR-10, except it has 100 classes containing 600 images each. There are 500 training images and 100 testing images per class. The 100 classes in the CIFAR-100 are roughly grouped into 20 superclasses. Each image comes with a “fine” label (the class to which it belongs) and a “coarse” label (the superclass to which it belongs). Here is the list of classes in the CIFAR-100:
| Superclass | Classes |
|---|---|
| aquatic mammals | beaver, dolphin, otter, seal, whale |
| fish | aquarium fish, flatfish, ray, shark, trout |
| flowers | orchids, poppies, roses, sunflowers, tulips |
| food containers | bottles, bowls, cans, cups, plates |
| fruit and vegetables | apples, mushrooms, oranges, pears, sweet peppers |
| household electrical devices | clock, computer keyboard, lamp, telephone, television |
| household furniture | bed, chair, couch, table, wardrobe |
| insects | bee, beetle, butterfly, caterpillar, cockroach |
| large carnivores | bear, leopard, lion, tiger, wolf |
| large man-made outdoor things | bridge, castle, house, road, skyscraper |
| large natural outdoor scenes | cloud, forest, mountain, plain, sea |
| large omnivores and herbivores | camel, cattle, chimpanzee, elephant, kangaroo |
| medium-sized mammals | fox, porcupine, possum, raccoon, skunk |
| non-insect invertebrates | crab, lobster, snail, spider, worm |
| people | baby, boy, girl, man, woman |
| reptiles | crocodile, dinosaur, lizard, snake, turtle |
| small mammals | hamster, mouse, rabbit, shrew, squirrel |
| trees | maple, oak, palm, pine, willow |
| vehicles 1 | bicycle, bus, motorcycle, pickup truck, train |
| vehicles 2 | lawn-mower, rocket, streetcar, tank, tractor |
The Number of Samples per Category for MNIST
| Category | Total | per Category |
|---|---|---|
| #Training Samples | 50,000 | 500 |
| #Testing Samples | 10,000 | 1000 |
Caffe:
Convert the raw data into the LMDB format:
- Change directory to datasets:
cd tutorials/datasets/ - Download CIFAR-100 python version
wget https://www.cs.toronto.edu/~kriz/cifar-100-python.tar.gz - Extract files
tar -xf cifar-100-python.tar.gz && rm -f cifar-100-python.tar.gz - Generate LMDB files (Install missing libraries for Python)
python convert_cifar100_lmdb.py
Use CIFAR-100 in LMDB format:
Add the following data layer definition into the network prototxt file to use this CIFAR-100 dataset.
layer {
name: "cifar100"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
mean_file: "../mean.binaryproto"
}
data_param {
source: "../cifar100_train_lmdb"
batch_size: 128
backend: LMDB
}
}
layer {
name: "cifar100"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
mean_file: "../mean.binaryproto"
}
data_param {
source: "../cifar100_test_lmdb"
batch_size: 100
backend: LMDB
}
}
General tools for Python
Modify the input file cifar10_input.py described in TensorFlow @TensorFlow_Convolutional_Neural_Networks to support the CIFAR-100 dataset.
Official Python function:
def unpickle(file):
import cPickle
with open(file, 'rb') as fo:
dict = cPickle.load(fo)
return dict