scikit-learn compatible neural network library
nolearn contains a number of wrappers and abstractions around existing neural network libraries, most notably Lasagne, along with a few machine learning utility modules. All code is written to be compatible with scikit-learn.
We recommend using venv (when using Python 3) or virtualenv (Python 2) to install nolearn.
nolearn comes with a list of known good versions of dependencies that we test with in requirements.txt. To install the latest version of nolearn from Git along with these known good dependencies, run these two commands:
pip install -r https://raw.githubusercontent.com/dnouri/nolearn/master/requirements.txt pip install git+https://github.com/dnouri/nolearn.git
If you’re looking for how to use nolearn.lasagne, then there’s two introductory tutorials that you can choose from:
Using convolutional neural nets to detect facial keypoints tutorial with code
For specifics around classes and functions out of the lasagne package, such as layers, updates, and nonlinearities, you’ll want to look at the Lasagne project’s documentation.
nolearn.lasagne comes with a number of tests that demonstrate some of the more advanced features, such as networks with merge layers, and networks with multiple inputs.
nolearn’s own documentation is somewhat out of date at this point. But there’s more resources online.
Finally, there’s a few presentations and examples from around the web. Note that some of these might need a specific version of nolearn and Lasange to run:
Oliver Dürr’s Convolutional Neural Nets II Hands On with code
Roelof Pieters’ presentation Python for Image Understanding comes with nolearn.lasagne code examples
Benjamin Bossan’s Otto Group Product Classification Challenge using nolearn/lasagne
Kaggle’s instructions on how to set up an AWS GPU instance to run nolearn.lasagne and the facial keypoint detection tutorial
Winners of the saliency prediction task in the 2015 LSUN Challenge have published their lasagne/nolearn-based code.
The winners of the 2nd place in the Kaggle Diabetic Retinopathy Detection challenge have published their lasagne/nolearn-based code.
The winner of the 2nd place in the Kaggle Right Whale Recognition challenge has published his lasagne/nolearn-based code.
If you’re seeing a bug with nolearn, please submit a bug report to the nolearn issue tracker. Make sure to include information such as:
how to reproduce the error: show us how to trigger the bug using a minimal example
what versions you are using: include the Git revision and/or version of nolearn (and possibly Lasagne) that you’re using
Please also make sure to search the issue tracker to see if your issue has been encountered before or fixed.
If you believe that you’re seeing an issue with Lasagne, which is a different software project, please use the Lasagne issue tracker instead.
There’s currently no user mailing list for nolearn. However, if you have a question related to Lasagne, you might want to try the Lasagne users list, or use Stack Overflow. Please refrain from contacting the authors for non-commercial support requests directly; public forums are the right place for these.
Citations are welcome:
Daniel Nouri. 2014. nolearn: scikit-learn compatible neural network library https://github.com/dnouri/nolearn
See the LICENSE.txt file for license rights and limitations (MIT).
0.6.1 - 2019-11-05
See Github for a list of changes between this release and the last: https://github.com/dnouri/nolearn/pulls?q=is%3Apr+is%3Aclosed
0.6.0 - 2016-08-27
Thanks to @BenjaminBossan, @cancan101, @DanChianucci who greatly contributed to this release.
lasagne: Many improvements to the nolearn.lasagne interface. Some of the more important changes:
Add basic support for multiple outputs https://github.com/dnouri/nolearn/pull/278
Extra scores can now be computed as part of Theano computation graph https://github.com/dnouri/nolearn/pull/261
Fix excessive memory usage in batch iterator when using shuffle https://github.com/dnouri/nolearn/pull/238
Add visualization code for saliency maps https://github.com/dnouri/nolearn/pull/223
Add method for convenient access of network’s intermediate layer output https://github.com/dnouri/nolearn/pull/196
Allow gradients to be scaled per layer https://github.com/dnouri/nolearn/pull/195
Add shuffling to BatchIterator https://github.com/dnouri/nolearn/pull/193
Add l1 and l2 regularization to default objective https://github.com/dnouri/nolearn/pull/169
Add RememberBestWeights handler: restores best weights after training https://github.com/dnouri/nolearn/pull/155
Passing Lasagne layer instances to ‘layers’ parameter of NeuralNet is now possible https://github.com/dnouri/nolearn/pull/146
Add feature visualization functions plot_loss, plot_weights, plot_activity, and plot_occlusion. The latter shows for image samples, which part of the images are crucial for the prediction https://github.com/dnouri/nolearn/pull/74
Add SaveWeights handler that saves weights to disk every n epochs https://github.com/dnouri/nolearn/pull/91
In verbose mode, print out more detailed layer information before starting with training https://github.com/dnouri/nolearn/pull/85
List of NeuralNet’s ‘layers’ parameter may now be formatted to contain ‘(layer_factory, layer_kwargs)’ tuples https://github.com/dnouri/nolearn/pull/73
dbn: Added back module dbn because there’s a few online articles referencing it. Works with Python 2 only.
Removed deprecated modules. Also deprecate grid_search module.
0.5 - 2015-01-22
Deprecated modules console, dataset, dbn, and model.
lasagne: Added scikit-learn compatible wrapper around the Lasagne neural network library for building simple feed-forward networks.
0.5b1 - 2014-08-09
overfeat: Add OverFeat-based feature extractor.
caffe: Add feature extractor based on ImageNet-pretrained nets found in caffe.
0.4 - 2014-01-15
cache: Use joblib’s numpy_pickle instead of cPickle to persist.
0.3.1 - 2013-11-18
convnet: Add center_only and classify_direct options.
0.3 - 2013-11-02
convnet: Add scikit-learn estimator based on Jia and Donahue’s DeCAF.
dbn: Change default args of use_re_lu=True and nesterov=True.
0.2 - 2013-03-03
dbn: Add parameters learn_rate_decays and learn_rate_minimums, which allow for decreasing the learning after each epoch of fine-tuning.
dbn: Allow -1 as the value of the input and output layers of the neural network. The shapes of X and y will then be used to determine those.
dbn: Add support for processing sparse input data matrices.
dbn: Improve miserable speed of DBN.predict_proba.
0.2b1 - 2012-12-30
Added a scikit-learn estimator based on George Dahl’s gdbn in nolearn.dbn.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.