theanet

Overview

Uses Theano to build a convolutional neural network with features like

  1. Elastic Distortion and noising of inputs
  2. Convolutional Layers
  3. Hidden Layers with Dropout, Maxnorm Regularization
  4. Various kinds of output layers like Softmax, Mixture of Gaussians etc.

Dependencies

Example Usage

  1. Make a file like params/5numbers.prms to have a dictionary that defines the CNN you want to build.
  2. Run it using train.py
python3 train.py mnist params/mnist.prms

Your own data

To make it work for your own data (call it galaxy data). Create a module in the data directory (like mnist.py), called galaxy.py, which will have the following four attributes, when loaded. training_x, training_y, testing_x, testing_y. The images should be a stack of 2D or 3D numpy arrays. Also specify a CNN like galaxy.prms. Then you can use theanet as:

python3 train.py galaxy galaxy.prms

Code