# CIFAR-10, CIFAR-100 inference code

The code structure of inference/predict stage is quite similar to MNIST inference code, please read this for precise explanation. Here, I will simply put the code and its results. CIFAR-10 inference code Code is uploaded on github as predict_cifar10.py.

This outputs the result as, You can see that even small CNN, it successfully classifies most of the images. Of course this is just a simple example and you can improve the model accuracy by tuning the deep neural network!   CIFAR-100 inference code In the same way, code is uploaded on github as predict_cifar100.py. CIFAR-100 is more difficult than CIFAR-10 in general because there are more class to classify but exists […]

# CIFAR-10, CIFAR-100 training with Convolutional Neural Network

[Update 2017.06.11] Add chainer v2 code Writing your CNN model This is example of small Convolutional Neural Network definition, CNNSmall

I also made a slightly bigger CNN, called CNNMedium,

It is nice to know the computational cost for Convolution layer, which is approximated as, $$H_I \times W_I \times CH_I \times CH_O \times k ^ 2$$ $$CH_I$$  : Input image channel $$CH_O$$ : Output image channel $$H_I$$     : Input image height $$W_I$$    : Input image width $$k$$           : kernal size (assuming same for width & height)   In above CNN definitions, the size of […]

# CIFAR-10, CIFAR-100 dataset introduction

Source code is uploaded on github. CIFAR-10 and CIFAR-100 are the small image datasets with its classification labeled. It is widely used for easy image classification task/benchmark in research community. Official page: CIFAR-10 and CIFAR-100 datasets In Chainer, CIFAR-10 and CIFAR-100 dataset can be obtained with build-in function. Setup code:

CIFAR-10 chainer.datasets.get_cifar10 method is prepared in Chainer to get CIFAR-10 dataset. Dataset is automatically downloaded from https://www.cs.toronto.edu only for the first time, and its cache is used from second time.

The dataset structure is quite same with MNIST dataset, it is TupleDataset.train[i] represents i-th data, there are 50000 training data.test data structure is same, with 10000 […]

# Understanding convolutional layer

Source code is uploaded on github.The sample image is obtained from PEXELS. What is the difference between convolutional layer and linear layer? What kind of intuition is in behind of using convolutional layer in deep neural network? This hands on shows some effects by convolutional layer to provide some intution about what convolutional layer do.

Above type of diagram often appears in Convolutional neural network field. Below figure explains its notation. Cuboid represents the “image” array where this image might not mean the meaningful picture. Horizontal axis represents channel number, vertical axis for image height and depth axis for image width respectively.   Convolution layer – […]