Giter Site home page Giter Site logo

orchestor / maxmin-cnn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wavelets/maxmin-cnn

0.0 2.0 0.0 649 KB

Implementation of Paper: "MaxMin Convolution Neural Networks for Image Classfication" in Keras.

License: MIT License

Jupyter Notebook 99.66% Python 0.34%

maxmin-cnn's Introduction

MaxMin Convolutional Neural Networks

This repository contains implementation of the paper MaxMin Convolutional Neural Networks for Image Classification.

How to walk through this repository ?

MaxMin CNN performs better than a classical CNN and it should take hardly 30 minutes to understand why and how to use them for your advantage. This is also meant to be a reference for learners, even beginners to Deep Learning. As a pre requisite you should know working of a simple convolutional layer, pooling layer and the meaning of ReLU activation.

  1. Have a look through this README completely to get the information about what all has been provided.
  2. Accompanying this repository, I have written a blog post about the design and working of a MaxMin Convolution Neural Network, before starting on this repository, you may like to have a quick read there - should hardly take 10 minutes or so.
  3. Next up, refer the implementation of MaxMin Convolution Layer written in keras_maxmin_impl.py.
  4. Check out the notebook, which contains implementation of the whole training routine and performance comparison on baseline models trained using CIFAR 10 dataset.
  5. You may like to "Watch" this repository as I plan to / encourage contributions on thngs mentioned in TODO section below.

Implementation Details

The complete implementation is done using Keras library of Python. One does not need to have much familiarity with Keras API - the design is quite intuitive, with suitable comments included in the notebook as well as script. I have configured Tensorflow (GPU) as Keras backend. Training occurs on my machine with 4GB NVidia GeForce 940 MX card.

NOTE: I have modified the default Keras Logger and then built Keras from source, so the verbose outputs are a bit different than those obtained by using versioned release of Keras. It is just to keep this notebook less cluttered and does not affect the results in any way. Do not worry if you are not able to reproduce the same output log on your machine.

TO-DOs

  • Add in more notebooks showing performance on bigger standard models such as ZFNet and VGG-16, 19.
  • Add in minimal implementation of MaxMin Convolution Layer using a different library or language (such as Caffe, Torch, Tensorflow or CNTK)

Contributing

Issues related to any queries in the blog post or notebook explanation and Pull Requests related to current bug fixes or new additions related to TODOs are most welcome!

LICENSE

MIT License, Copyright (c) 2016 Karan Desai

Feel free to use any part of my implementation as per requirement. Reach out to me if you make something using it, I would love to hear from you.

maxmin-cnn's People

Watchers

James Cloos avatar Lin Wang 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.