docs/en/datasets/classify/cifar10.md
The CIFAR-10 (Canadian Institute For Advanced Research) dataset is a classic image classification benchmark of 60,000 32x32 color images evenly split across 10 classes — airplane, automobile, bird, cat, deer, dog, frog, horse, ship, and truck. It ships with a predefined split of 50,000 training and 10,000 test images (6,000 per class), making it a lightweight, well-balanced starting point for training and benchmarking classification models. For a more fine-grained challenge, see the related CIFAR-100 dataset.
<p align="center"> <iframe loading="lazy" width="720" height="405" src="https://www.youtube.com/embed/fLBbyhPbWzY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen> </iframe><strong>Watch:</strong> How to Train an <a href="https://www.ultralytics.com/glossary/image-classification">Image Classification</a> Model with CIFAR-10 Dataset using Ultralytics YOLO
</p>CIFAR-10 ships with an official, predefined split, so no automatic or manual partitioning is needed:
!!! note "Validation split"
CIFAR-10 has no separate validation folder, so Ultralytics uses the 10,000-image test set as the validation split during training by default.
CIFAR-10 is widely used to train and evaluate image classification models, from classic Convolutional Neural Networks (CNNs) and Support Vector Machines (SVMs) to modern deep architectures. Its small image size and balanced classes make it ideal for rapid experimentation, benchmarking new algorithms, and teaching computer vision fundamentals.
Train a YOLO model on CIFAR-10 for 100 epochs at an image size of 32. For the full list of available arguments, see the Training page and the image classification task guide.
!!! example "Train Example"
=== "Python"
```python
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="cifar10", epochs=100, imgsz=32)
```
=== "CLI"
```bash
# Start training from a pretrained *.pt model
yolo classify train data=cifar10 model=yolo26n-cls.pt epochs=100 imgsz=32
```
The CIFAR-10 dataset contains color images of various objects, providing a well-structured dataset for image classification tasks. Here are some examples of images from the dataset:
The samples show the diversity of the objects in the CIFAR-10 dataset, underlining the value of a varied dataset for training robust image classification models.
If you use the CIFAR-10 dataset in your research or development work, please cite the following paper:
!!! quote ""
=== "BibTeX"
```bibtex
@TECHREPORT{Krizhevsky09learningmultiple,
author={Alex Krizhevsky},
title={Learning multiple layers of features from tiny images},
institution={},
year={2009}
}
```
We would like to acknowledge Alex Krizhevsky for creating and maintaining the CIFAR-10 dataset as a valuable resource for the machine learning and computer vision research community. For more information about the CIFAR-10 dataset and its creator, visit the CIFAR-10 dataset website.
The CIFAR-10 dataset is widely used to train and benchmark image classification and object recognition models. It contains 60,000 32x32 color images evenly spread across 10 classes, and its small size and balanced classes make it a fast, reliable benchmark for algorithms such as Convolutional Neural Networks (CNNs) and Support Vector Machines (SVMs).
To train an Ultralytics YOLO model on CIFAR-10, use the code snippets below. The dataset downloads automatically on first use. For a full list of arguments, see the model Training page.
!!! example "Train Example"
=== "Python"
```python
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="cifar10", epochs=100, imgsz=32)
```
=== "CLI"
```bash
# Start training from a pretrained *.pt model
yolo classify train data=cifar10 model=yolo26n-cls.pt epochs=100 imgsz=32
```
CIFAR-10 has 10 classes — airplane, automobile, bird, cat, deer, dog, frog, horse, ship, and truck — with exactly 6,000 images each, for 60,000 images in total. The classes are mutually exclusive and perfectly balanced, with no overlap between categories.
CIFAR-10 ships with a predefined split of 50,000 training images and 10,000 test images, with exactly 5,000 training and 1,000 test images per class. Unlike folder-based classification datasets that Ultralytics splits automatically, CIFAR-10's official partition is used as-is, and the test set serves as the validation split during training by default.
Yes. Ultralytics Platform lets you manage datasets, train image classification models, and deploy them without extensive coding. It is a convenient way to run CIFAR-10 experiments in the cloud, and you can explore more options in our classification datasets overview.