nolearn


Namenolearn JSON
Version 0.6.0 PyPI version JSON
download
home_pagehttps://github.com/dnouri/nolearn
Summaryscikit-learn compatible neural network library
upload_time2016-08-27 05:58:28
maintainerNone
docs_urlhttp://pythonhosted.org/nolearn/
authorDaniel Nouri
requires_pythonNone
licenseMIT
keywords
VCS
bugtrack_url
requirements numpy scipy Theano Lasagne==0.2.git joblib scikit-learn tabulate
Travis-CI
coveralls test coverage
            *nolearn* contains a number of wrappers and abstractions around
existing neural network libraries, most notably `Lasagne
<http://lasagne.readthedocs.org/>`_, along with a few machine learning
utility modules.  All code is written to be compatible with
`scikit-learn <http://scikit-learn.org/>`_.

.. image:: https://travis-ci.org/dnouri/nolearn.svg?branch=master
    :target: https://travis-ci.org/dnouri/nolearn

Installation
============

We recommend using `venv
<https://docs.python.org/3/library/venv.html>`_ (when using Python 3)
or `virtualenv
<http://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/>`_
(Python 2) to install nolearn.

To install the latest release of nolearn from the Python Package
Index, do::

  pip install nolearn

At the time of this writing, nolearn works with the latest versions of
its dependencies, such as numpy, scipy, Theano, and Lasagne (the
latter `from Git <https://github.com/Lasagne/Lasagne>`_).  But we also
maintain a list of known good versions of dependencies that we support
and test.  Should you run into hairy depdendency issues during
installation or runtime, we recommend you try this same set of tested
depdencencies instead::

  pip install -r https://github.com/dnouri/nolearn/tree/0.6.0/requirements.txt
  pip install nolearn
  
If you want to install the latest development version of nolearn
directly from Git, run::

  pip install -r https://raw.githubusercontent.com/dnouri/nolearn/master/requirements.txt
  pip install git+https://github.com/dnouri/nolearn.git@master#egg=nolearn==0.7.git

Documentation
=============

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
  <http://danielnouri.org/notes/2014/12/17/using-convolutional-neural-nets-to-detect-facial-keypoints-tutorial/>`_
  with `code <https://github.com/dnouri/kfkd-tutorial>`_

- `Training convolutional neural networks with nolearn
  <http://nbviewer.ipython.org/github/dnouri/nolearn/blob/master/docs/notebooks/CNN_tutorial.ipynb>`_
  
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
<http://lasagne.readthedocs.org/>`_.

*nolearn.lasagne* comes with a `number of tests
<https://github.com/dnouri/nolearn/tree/master/nolearn/lasagne/tests>`_
that demonstrate some of the more advanced features, such as networks
with merge layers, and networks with multiple inputs.

`nolearn's own documentation <http://packages.python.org/nolearn/>`_
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
  <https://home.zhaw.ch/~dueo/bbs/files/ConvNets_24_April.pdf>`_ with
  `code <https://github.com/oduerr/dl_tutorial/tree/master/lasagne>`_

- Roelof Pieters' presentation `Python for Image Understanding
  <http://www.slideshare.net/roelofp/python-for-image-understanding-deep-learning-with-convolutional-neural-nets>`_
  comes with nolearn.lasagne code examples

- Benjamin Bossan's `Otto Group Product Classification Challenge
  using nolearn/lasagne
  <https://github.com/ottogroup/kaggle/blob/master/Otto_Group_Competition.ipynb>`_

- Kaggle's `instructions on how to set up an AWS GPU instance to run
  nolearn.lasagne
  <https://www.kaggle.com/c/facial-keypoints-detection/details/deep-learning-tutorial>`_
  and the facial keypoint detection tutorial

- `An example convolutional autoencoder
  <https://github.com/mikesj-public/convolutional_autoencoder/blob/master/mnist_conv_autoencode.ipynb>`_

- Winners of the saliency prediction task in the 2015 `LSUN Challenge
  <http://lsun.cs.princeton.edu/>`_ have published their
  `lasagne/nolearn-based code
  <https://imatge.upc.edu/web/resources/end-end-convolutional-networks-saliency-prediction-software>`_.

- The winners of the 2nd place in the `Kaggle Diabetic Retinopathy Detection
  challenge <https://www.kaggle.com/c/diabetic-retinopathy-detection>`_ have
  published their `lasagne/nolearn-based code
  <https://github.com/sveitser/kaggle_diabetic>`_.

- The winner of the 2nd place in the `Kaggle Right Whale Recognition
  challenge <https://www.kaggle.com/c/noaa-right-whale-recognition>`_ has
  published his `lasagne/nolearn-based code
  <https://github.com/felixlaumon/kaggle-right-whale>`_.

Support
=======

If you're seeing a bug with nolearn, please submit a bug report to the
`nolearn issue tracker <https://github.com/dnouri/nolearn/issues>`_.
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
<https://github.com/Lasagne/Lasagne/issues>`_ 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 <https://groups.google.com/d/forum/lasagne-users>`_, or use
Stack Overflow.  Please refrain from contacting the authors for
non-commercial support requests directly; public forums are the right
place for these.

Citation
========

Citations are welcome:

    Daniel Nouri. 2014. *nolearn: scikit-learn compatible neural
    network library* https://github.com/dnouri/nolearn

License
=======

See the `LICENSE.txt <LICENSE.txt>`_ file for license rights and
limitations (MIT).


Change History
==============

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`.
            

Raw data

            {
    "_id": null,
    "maintainer": null,
    "docs_url": "http://pythonhosted.org/nolearn/",
    "requires_python": null,
    "maintainer_email": null,
    "cheesecake_code_kwalitee_id": null,
    "keywords": "",
    "upload_time": "2016-08-27 05:58:28",
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "1.10.4"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    "==",
                    "0.16.1"
                ]
            ]
        },
        {
            "name": "Theano",
            "specs": [
                [
                    "==",
                    "0.8"
                ]
            ]
        },
        {
            "name": "Lasagne==0.2.git",
            "specs": []
        },
        {
            "name": "joblib",
            "specs": [
                [
                    "==",
                    "0.9.3"
                ]
            ]
        },
        {
            "name": "scikit-learn",
            "specs": [
                [
                    "==",
                    "0.17"
                ]
            ]
        },
        {
            "name": "tabulate",
            "specs": [
                [
                    "==",
                    "0.7.5"
                ]
            ]
        }
    ],
    "author": "Daniel Nouri",
    "home_page": "https://github.com/dnouri/nolearn",
    "github_user": "dnouri",
    "download_url": "https://pypi.python.org/packages/ff/69/2882491c14c58431c06d5a12a007eefcc4fb3f5ac7af624a5d212b0bbdd4/nolearn-0.6.0.tar.gz",
    "platform": "UNKNOWN",
    "version": "0.6.0",
    "cheesecake_documentation_id": null,
    "description": "*nolearn* contains a number of wrappers and abstractions around\nexisting neural network libraries, most notably `Lasagne\n<http://lasagne.readthedocs.org/>`_, along with a few machine learning\nutility modules.  All code is written to be compatible with\n`scikit-learn <http://scikit-learn.org/>`_.\n\n.. image:: https://travis-ci.org/dnouri/nolearn.svg?branch=master\n    :target: https://travis-ci.org/dnouri/nolearn\n\nInstallation\n============\n\nWe recommend using `venv\n<https://docs.python.org/3/library/venv.html>`_ (when using Python 3)\nor `virtualenv\n<http://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/>`_\n(Python 2) to install nolearn.\n\nTo install the latest release of nolearn from the Python Package\nIndex, do::\n\n  pip install nolearn\n\nAt the time of this writing, nolearn works with the latest versions of\nits dependencies, such as numpy, scipy, Theano, and Lasagne (the\nlatter `from Git <https://github.com/Lasagne/Lasagne>`_).  But we also\nmaintain a list of known good versions of dependencies that we support\nand test.  Should you run into hairy depdendency issues during\ninstallation or runtime, we recommend you try this same set of tested\ndepdencencies instead::\n\n  pip install -r https://github.com/dnouri/nolearn/tree/0.6.0/requirements.txt\n  pip install nolearn\n  \nIf you want to install the latest development version of nolearn\ndirectly from Git, run::\n\n  pip install -r https://raw.githubusercontent.com/dnouri/nolearn/master/requirements.txt\n  pip install git+https://github.com/dnouri/nolearn.git@master#egg=nolearn==0.7.git\n\nDocumentation\n=============\n\nIf you're looking for how to use *nolearn.lasagne*, then there's two\nintroductory tutorials that you can choose from:\n\n- `Using convolutional neural nets to detect facial keypoints tutorial\n  <http://danielnouri.org/notes/2014/12/17/using-convolutional-neural-nets-to-detect-facial-keypoints-tutorial/>`_\n  with `code <https://github.com/dnouri/kfkd-tutorial>`_\n\n- `Training convolutional neural networks with nolearn\n  <http://nbviewer.ipython.org/github/dnouri/nolearn/blob/master/docs/notebooks/CNN_tutorial.ipynb>`_\n  \nFor specifics around classes and functions out of the *lasagne*\npackage, such as layers, updates, and nonlinearities, you'll want to\nlook at the `Lasagne project's documentation\n<http://lasagne.readthedocs.org/>`_.\n\n*nolearn.lasagne* comes with a `number of tests\n<https://github.com/dnouri/nolearn/tree/master/nolearn/lasagne/tests>`_\nthat demonstrate some of the more advanced features, such as networks\nwith merge layers, and networks with multiple inputs.\n\n`nolearn's own documentation <http://packages.python.org/nolearn/>`_\nis somewhat out of date at this point.  But there's more resources\nonline.\n\nFinally, there's a few presentations and examples from around the web.\nNote that some of these might need a specific version of nolearn and\nLasange to run:\n\n- Oliver D\u00fcrr's `Convolutional Neural Nets II Hands On\n  <https://home.zhaw.ch/~dueo/bbs/files/ConvNets_24_April.pdf>`_ with\n  `code <https://github.com/oduerr/dl_tutorial/tree/master/lasagne>`_\n\n- Roelof Pieters' presentation `Python for Image Understanding\n  <http://www.slideshare.net/roelofp/python-for-image-understanding-deep-learning-with-convolutional-neural-nets>`_\n  comes with nolearn.lasagne code examples\n\n- Benjamin Bossan's `Otto Group Product Classification Challenge\n  using nolearn/lasagne\n  <https://github.com/ottogroup/kaggle/blob/master/Otto_Group_Competition.ipynb>`_\n\n- Kaggle's `instructions on how to set up an AWS GPU instance to run\n  nolearn.lasagne\n  <https://www.kaggle.com/c/facial-keypoints-detection/details/deep-learning-tutorial>`_\n  and the facial keypoint detection tutorial\n\n- `An example convolutional autoencoder\n  <https://github.com/mikesj-public/convolutional_autoencoder/blob/master/mnist_conv_autoencode.ipynb>`_\n\n- Winners of the saliency prediction task in the 2015 `LSUN Challenge\n  <http://lsun.cs.princeton.edu/>`_ have published their\n  `lasagne/nolearn-based code\n  <https://imatge.upc.edu/web/resources/end-end-convolutional-networks-saliency-prediction-software>`_.\n\n- The winners of the 2nd place in the `Kaggle Diabetic Retinopathy Detection\n  challenge <https://www.kaggle.com/c/diabetic-retinopathy-detection>`_ have\n  published their `lasagne/nolearn-based code\n  <https://github.com/sveitser/kaggle_diabetic>`_.\n\n- The winner of the 2nd place in the `Kaggle Right Whale Recognition\n  challenge <https://www.kaggle.com/c/noaa-right-whale-recognition>`_ has\n  published his `lasagne/nolearn-based code\n  <https://github.com/felixlaumon/kaggle-right-whale>`_.\n\nSupport\n=======\n\nIf you're seeing a bug with nolearn, please submit a bug report to the\n`nolearn issue tracker <https://github.com/dnouri/nolearn/issues>`_.\nMake sure to include information such as:\n\n- how to reproduce the error: show us how to trigger the bug using a\n  minimal example\n\n- what versions you are using: include the Git revision and/or version\n  of nolearn (and possibly Lasagne) that you're using\n\nPlease also make sure to search the issue tracker to see if your issue\nhas been encountered before or fixed.\n\nIf you believe that you're seeing an issue with Lasagne, which is a\ndifferent software project, please use the `Lasagne issue tracker\n<https://github.com/Lasagne/Lasagne/issues>`_ instead.\n\nThere's currently no user mailing list for nolearn.  However, if you\nhave a question related to Lasagne, you might want to try the `Lasagne\nusers list <https://groups.google.com/d/forum/lasagne-users>`_, or use\nStack Overflow.  Please refrain from contacting the authors for\nnon-commercial support requests directly; public forums are the right\nplace for these.\n\nCitation\n========\n\nCitations are welcome:\n\n    Daniel Nouri. 2014. *nolearn: scikit-learn compatible neural\n    network library* https://github.com/dnouri/nolearn\n\nLicense\n=======\n\nSee the `LICENSE.txt <LICENSE.txt>`_ file for license rights and\nlimitations (MIT).\n\n\nChange History\n==============\n\n0.6.0 - 2016-08-27\n------------------\n\nThanks to @BenjaminBossan, @cancan101, @DanChianucci who greatly\ncontributed to this release.\n\n- lasagne: Many improvements to the nolearn.lasagne interface.  Some\n  of the more important changes:\n\n  - Add basic support for multiple outputs\n    https://github.com/dnouri/nolearn/pull/278\n\n  - Extra scores can now be computed as part of Theano computation\n    graph\n    https://github.com/dnouri/nolearn/pull/261\n\n  - Fix excessive memory usage in batch iterator when using shuffle\n    https://github.com/dnouri/nolearn/pull/238\n\n  - Add visualization code for saliency maps\n    https://github.com/dnouri/nolearn/pull/223\n\n  - Add method for convenient access of network's intermediate layer\n    output\n    https://github.com/dnouri/nolearn/pull/196\n\n  - Allow gradients to be scaled per layer\n    https://github.com/dnouri/nolearn/pull/195\n\n  - Add shuffling to BatchIterator\n    https://github.com/dnouri/nolearn/pull/193\n\n  - Add l1 and l2 regularization to default objective\n    https://github.com/dnouri/nolearn/pull/169\n\n  - Add RememberBestWeights handler: restores best weights after\n    training\n    https://github.com/dnouri/nolearn/pull/155\n\n  - Passing Lasagne layer instances to 'layers' parameter of NeuralNet\n    is now possible\n    https://github.com/dnouri/nolearn/pull/146\n\n  - Add feature visualization functions plot_loss, plot_weights,\n    plot_activity, and plot_occlusion.  The latter shows for image\n    samples, which part of the images are crucial for the prediction\n    https://github.com/dnouri/nolearn/pull/74\n\n  - Add SaveWeights handler that saves weights to disk every n epochs\n    https://github.com/dnouri/nolearn/pull/91\n\n  - In verbose mode, print out more detailed layer information before\n    starting with training\n    https://github.com/dnouri/nolearn/pull/85\n\n  - List of NeuralNet's 'layers' parameter may now be formatted to\n    contain '(layer_factory, layer_kwargs)' tuples\n    https://github.com/dnouri/nolearn/pull/73\n\n- dbn: Added back module dbn because there's a few online articles\n  referencing it.  Works with Python 2 only.\n\n- Removed deprecated modules.  Also deprecate grid_search module.\n\n0.5 - 2015-01-22\n----------------\n\n- Deprecated modules console, dataset, dbn, and model.\n\n- lasagne: Added scikit-learn compatible wrapper around the `Lasagne`\n  neural network library for building simple feed-forward networks.\n\n0.5b1 - 2014-08-09\n------------------\n\n- overfeat: Add OverFeat-based feature extractor.\n\n- caffe: Add feature extractor based on ImageNet-pretrained nets found\n  in caffe.\n\n0.4 - 2014-01-15\n----------------\n\n- cache: Use joblib's `numpy_pickle` instead of `cPickle` to persist.\n\n0.3.1 - 2013-11-18\n------------------\n\n- convnet: Add `center_only` and `classify_direct` options.\n\n0.3 - 2013-11-02\n----------------\n\n- convnet: Add scikit-learn estimator based on Jia and Donahue's\n  `DeCAF`.\n\n- dbn: Change default args of `use_re_lu=True` and `nesterov=True`.\n\n0.2 - 2013-03-03\n----------------\n\n- dbn: Add parameters `learn_rate_decays` and `learn_rate_minimums`,\n  which allow for decreasing the learning after each epoch of\n  fine-tuning.\n\n- dbn: Allow `-1` as the value of the input and output layers of the\n  neural network.  The shapes of `X` and `y` will then be used to\n  determine those.\n\n- dbn: Add support for processing sparse input data matrices.\n\n- dbn: Improve miserable speed of `DBN.predict_proba`.\n\n0.2b1 - 2012-12-30\n------------------\n\n- Added a scikit-learn estimator based on George Dahl's `gdbn` in\n  `nolearn.dbn`.",
    "lcname": "nolearn",
    "name": "nolearn",
    "github": true,
    "bugtrack_url": "",
    "license": "MIT",
    "travis_ci": true,
    "github_project": "nolearn",
    "summary": "scikit-learn compatible neural network library",
    "split_keywords": [],
    "author_email": "daniel.nouri@gmail.com",
    "urls": [
        {
            "has_sig": false,
            "upload_time": "2016-08-27T05:58:28",
            "comment_text": "",
            "python_version": "source",
            "url": "https://pypi.python.org/packages/ff/69/2882491c14c58431c06d5a12a007eefcc4fb3f5ac7af624a5d212b0bbdd4/nolearn-0.6.0.tar.gz",
            "md5_digest": "c075f557ecf6c81d85cbf89a8aba59cf",
            "downloads": 0,
            "filename": "nolearn-0.6.0.tar.gz",
            "packagetype": "sdist",
            "path": "ff/69/2882491c14c58431c06d5a12a007eefcc4fb3f5ac7af624a5d212b0bbdd4/nolearn-0.6.0.tar.gz",
            "size": 320150
        }
    ],
    "cheesecake_installability_id": null,
    "coveralls": true
}
        
Elapsed time: 0.03500s