Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mnoukhov/theano-mnist
Good theano basics for MNIST using Blocks, Fuel, and Lasagne
https://github.com/mnoukhov/theano-mnist
Last synced: 26 days ago
JSON representation
Good theano basics for MNIST using Blocks, Fuel, and Lasagne
- Host: GitHub
- URL: https://github.com/mnoukhov/theano-mnist
- Owner: mnoukhov
- License: mit
- Created: 2016-12-28T03:19:30.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-01-06T20:26:17.000Z (about 8 years ago)
- Last Synced: 2024-10-28T00:21:24.433Z (2 months ago)
- Language: Python
- Size: 4.88 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# theano-mnist
A great basic starter to using theano the right way (or my way at least)Uses lasagne (model definition), fuel (data processing), and blocks (training loop) to create a clean and extensible MNIST classifier using LeNet, also can serve as a great template for any project
## why
In building neural networks, I like to separate things into model, data, and training loop. By using these three libraries, this becomes simple and easy. Blocks main loop and extensions become especially useful for extending the code to your specific needs.### why lasagne and not blocks.bricks
I find the structuring of networks in lasagne to be more intuitive and more similar to tensorflow (and tf-slim), making it easier to implement some tensorflow models in theano## requirements
install required libraries
* install [latest theano](http://deeplearning.net/software/theano/install.html#bleeding-edge-install-instructions)
* install [latest blocks (and fuel)](http://blocks.readthedocs.io/en/latest/setup.html)
* install [latest lasagne](http://lasagne.readthedocs.io/en/latest/user/installation.html#bleeding-edge-version)
* install argh: `pip install argh`prepare mnist data
* follow [this guide](http://fuel.readthedocs.io/en/latest/built_in_datasets.html) to download and create `mnist.hdf5`## running
`python train.py BATCH_SIZE LEARNING_RATE NUM_EPOCHS`## TODO
- add validation/testing
- add visualization (blocks-extras' live plotting or mimir logging into jupyter)
- add model saving/loading (add my own lasagne saver/loader)