Coder Social home page Coder Social logo

anishaudayakumar / cifar-10-object-recognition-in-images Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gurupradeep/cifar-10-object-recognition-in-images

0.0 0.0 0.0 12.99 MB

Implementing and comparing performance of various deep learning models on CIFAR-10 dataset

License: MIT License

Jupyter Notebook 100.00%

cifar-10-object-recognition-in-images's Introduction

CIFAR-10-Object-Recognition-in-Images

Implementing and comparing performance of various deep learning models on CIFAR-10 dataset

This repository contains the implementation of various famous deep learning models using Keras. Their performance has been compared on CIFAR-10 dataset, by using the same hyperparameters to make a fair comparison.

Models compared

  1. Wide Residual Network
  2. ResNet
  3. VGG

Papers referred

  1. Very Deep Convolutional Networks For Large-Scale Image Recognition
  2. Deep Residual Learning for Image Recognition
  3. Wide Residual Networks

INSTALLATION OF REQUIRED TOOLS

1. Tensorflow

Refer to the following link https://www.tensorflow.org/install/install_sources. Tensorflow is used as backend for Keras. The link contains installation instructions with and without gpu support

2. Keras

Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation.

  • To install Keras

    sudo pip install keras

3. Matplotlib

Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.

4.Skimage

Scikit-image is an image processing toolbox for SciPy. It is used for loading,saving and applying various transformations like color to gray and gray to color on images.

5. graphviz

This package facilitates the creation and rendering of graph descriptions in the DOT language of the Graphviz graph drawing software from Python. It is required to plot the models in keras.

  • To install graphviz

    sudo pip install graphviz

6. Jupyter Notebook

The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text

Quick start

Run the following commands in Terminal.

git clone https://github.com/Gurupradeep/CIFAR-10-Object-Recognition-in-Images.git
cd CIFAR-10-Object-Recognition-in-Images
cd Models
jupyter notebook

It opens up all the notebooks which are there in the directory in the browser.

  • ResNet.ipynb Contains the implementation code of ResNet
  • VGG16.ipynb Contains the implementation code of VGG
  • Wide_Residual_Network.ipynb contains the implementaion of Wide residual Networks
  • SimpleCNN.ipynb contains code of a simple CNN which gives more than 90 percent accuracy on cifar-10.

Procedure followed

  • ResNet and Wide residual models have been trained from scratch
  • VGG is trained with the help of transfer learning. Here the models weights are initialised with ones obtained from training on ImageNet
  • All the hyperparameters are kept constant for all the models while training.

Comparison of Various Models

Summary

  • The difference between the time taken by the VGG to train with and without transfer learning is huge.
  • Wide residual networks gives better results in lesser time compared to ResNet.
  • And proved that with the help of Simple CNN we can achieve good results with proper hyper parameter tuning and regularization techniques.

WRN-16-10 Performance

ResNet-50 Performance

ResNet50 vs WRN-16-10

  • Other plots of individual models and comparisons can be found here

cifar-10-object-recognition-in-images's People

Contributors

gurupradeep avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.