This project solved cfar10 challenge using Convolutional Neural Network. Any pool request is appreciated. The CIFAR-10 dataset consists of 60000 32x32 color images in 10 classes, with 6000 images per class. There are 50000 training images and 10000 test images. The dataset is in 5 batches.
- Preprocess.py For the first step I concatenate all 5 batches to one. Then normalized images.(Convert all pixels between 0 and 1) and we apart 10% of images for validation.
- Train.py In this file we create a CNN model and train it by datasets and finally we save the model.
Model: "sequential"
conv2d (Conv2D) (None, 30, 30, 64) 1792
max_pooling2d (MaxPooling2D) (None, 15, 15, 64) 0
conv2d_1 (Conv2D) (None, 13, 13, 128) 73856
max_pooling2d_1 (MaxPooling2 (None, 6, 6, 128) 0
conv2d_2 (Conv2D) (None, 4, 4, 256) 295168
max_pooling2d_2 (MaxPooling2 (None, 2, 2, 256) 0
conv2d_3 (Conv2D) (None, 1, 1, 1024) 1049600
flatten (Flatten) (None, 1024) 0
dense (Dense) (None, 256) 262400
dense_1 (Dense) (None, 128) 32896
dense_2 (Dense) (None, 256) 33024
Total params: 1,751,306 Trainable params: 1,751,306 Non-trainable params: 0 3. Test the model by trst data.
Result: the accuracy is 98% .