Browse files

Write something better in

  • Loading branch information...
1 parent 659a929 commit ed0c3b2c3c0eee01a1ea861ea0ee7cc24b32a2da Leif Johnson committed Mar 19, 2013
Showing with 48 additions and 3 deletions.
  1. +48 −3
@@ -1,4 +1,49 @@
+# theano-nets
-neural networks in theano
+This package contains implementations of several common neural network
+structures, using the amazing [Theano][] package for optimization.
+## Installation
+Install the latest published code using pip:
+ pip install lmj.nn
+Or download the current source and run it from there:
+ git clone
+ cd theano-nets
+ python develop
+## Getting started
+There are a few examples in the `examples/` directory. Run an example with the
+`--help` flag to get a list of all the command-line options ; there are many of
+them, but some of the notable ones are :
+ -n or --layers N1 N2 N3 N4
+Build a network with `N1` inputs, two hidden layers with `N2` and `N3` units,
+and `N4` outputs.
+ -g or --activation logistic|relu|linear|norm:mean+logistic|...
+Use the given activation function for hidden layer units. (All output layer
+units have a linear activation function.) Several activation functions can be
+pipelined together using `+`.
+ -O or --optimize sgd|hf|sgd+hf|...
+Use the given optimization method to train network parameters. Several training
+methods can be used in sequence by concatenating their names with `+`.
+## Using the library
+The easiest way to start with the library is to copy one of the examples and
+modify it to perform your tasks. The usual workflow involves subclassing
+`lmj.nn.Main` and providing implementations of `get_network(self)` (which should
+return a Python class derived from `lmj.nn.Network`) and `get_datasets(self)`
+(which should return a (training, validation) tuple of data). You'll need to
+make sure the dimensions of everything match up properly.

0 comments on commit ed0c3b2

Please sign in to comment.