Metadata-Version: 1.1
Name: npdl
Version: 0.4.0.1
Summary: Deep Learning Library based on pure Numpy
Home-page: http://numpydl.readthedocs.io
Author: Chao-Ming Wang
Author-email: oujago@gmail.com
License: MIT
Download-URL: https://github.com/oujago/NumpyDL
Description: 
        .. image:: https://readthedocs.org/projects/numpydl/badge/
            :target: http://numpydl.readthedocs.org/en/latest/
        
        .. image:: https://img.shields.io/badge/license-MIT-blue.svg
            :target: https://github.com/oujago/NumpyDL/blob/master/LICENSE
        
        .. image:: https://api.travis-ci.org/oujago/NumpyDL.svg
            :target: https://travis-ci.org/oujago/NumpyDL
        
        .. image:: https://coveralls.io/repos/github/oujago/NumpyDL/badge.svg
            :target: https://coveralls.io/github/oujago/NumpyDL
        
        .. image:: https://badge.fury.io/py/npdl.svg
            :target: https://badge.fury.io/py/npdl
        
        .. image:: https://img.shields.io/badge/python-3.5-blue.svg
            :target: https://pypi.python.org/pypi/npdl
        
        .. image:: https://img.shields.io/badge/python-3.6-blue.svg
            :target: https://pypi.python.org/pypi/npdl
        
        .. https://codeclimate.com/github/oujago/NumpyDL/badges/gpa.svg
           :target: https://codeclimate.com/github/oujago/NumpyDL
        
        .. image:: https://codeclimate.com/github/oujago/NumpyDL/badges/issue_count.svg
           :target: https://codeclimate.com/github/oujago/NumpyDL
        
        .. image:: https://img.shields.io/github/issues/oujago/NumpyDL.svg
           :target: https://github.com/oujago/NumpyDL
        
        .. image:: https://zenodo.org/badge/83100910.svg
           :target: https://zenodo.org/badge/latestdoi/83100910
        
        
        
        NumpyDL: Numpy Deep Learning Library
        ====================================
        
        Descriptions
        ============
        
        ``NumpyDL`` is:
        
        1. Based on Pure Numpy/Python
        2. For DL Education
        3. And for My Homework
        
        
        Features
        ========
        
        Its main features are:
        
        1. *Pure* in Numpy
        2. *Native* to Python
        3. *Automatic differentiations* are basically supported
        4. *Commonly used models* are provided: MLP, RNNs, LSTMs and CNNs
        5. *API* like ``Keras`` library
        6. *Examples* for several AI tasks
        7. *Application* for a toy chatbot
        8. *Mobile friendly* documents
        
        
        Documentation
        =============
        
        Available online documents:
        
        1. `latest docs <http://numpydl.readthedocs.io/en/latest>`_
        2. `development docs <http://numpydl.readthedocs.io/en/develop/>`_
        3. `stable docs <http://numpydl.readthedocs.io/en/stable/>`_
        
        Available offline PDF:
        
        1. `latest PDF <http://readthedocs.org/projects/numpydl/downloads/pdf/latest>`_
        
        
        Installation
        ============
        
        Install NumpyDL using pip:
        
        .. code-block:: bash
        
            $> pip install npdl
        
        Install from source code:
        
        .. code-block:: bash
        
            $> python setup.py install
        
        
        Examples
        ========
        
        ``NumpyDL`` provides several examples of AI tasks:
        
        * sentence classification
            * LSTM in *examples/lstm_sentence_classification.py*
            * CNN in *examples/cnn_sentence_classification.py*
        * mnist handwritten recognition
            * MLP in *examples/mlp-mnist.py*
            * MLP in *examples/mlp-digits.py*
            * CNN in *examples/cnn-minist.py*
        * language modeling
            * RNN in *examples/rnn-character-lm.py*
            * LSTM in *examples/lstm-character-lm.py*
        
        One concrete code example in *examples/mlp-digits.py*:
        
        .. code-block:: python
        
            import numpy as np
            from sklearn.datasets import load_digits
            import npdl
        
            # prepare
            npdl.utils.random.set_seed(1234)
        
            # data
            digits = load_digits()
            X_train = digits.data
            X_train /= np.max(X_train)
            Y_train = digits.target
            n_classes = np.unique(Y_train).size
        
            # model
            model = npdl.model.Model()
            model.add(npdl.layers.Dense(n_out=500, n_in=64, activation=npdl.activation.ReLU()))
            model.add(npdl.layers.Dense(n_out=n_classes, activation=npdl.activation.Softmax()))
            model.compile(loss=npdl.objectives.SCCE(), optimizer=npdl.optimizers.SGD(lr=0.005))
        
            # train
            model.fit(X_train, npdl.utils.data.one_hot(Y_train), max_iter=150, validation_split=0.1)
        
        
        
        Applications
        ============
        
        ``NumpyDL`` provides one toy application:
        
        * Chatbot
            * seq2seq in *applications/chatbot/model.py*
        
        
        And its final result:
        
        .. figure:: applications/chatbot/pics/chatbot.png
            :width: 80%
        
        
        Supports
        ========
        
        ``NumpyDL`` supports following deep learning techniques:
        
        * Layers
            * Linear
            * Dense
            * Softmax
            * Dropout
            * Convolution
            * Embedding
            * BatchNormal
            * MeanPooling
            * MaxPooling
            * SimpleRNN
            * GRU
            * LSTM
            * Flatten
            * DimShuffle
        * Optimizers
            * SGD
            * Momentum
            * NesterovMomentum
            * Adagrad
            * RMSprop
            * Adadelta
            * Adam
            * Adamax
        * Objectives
            * MeanSquaredError
            * HellingerDistance
            * BinaryCrossEntropy
            * SoftmaxCategoricalCrossEntropy
        * Initializations
            * Zero
            * One
            * Uniform
            * Normal
            * LecunUniform
            * GlorotUniform
            * GlorotNormal
            * HeNormal
            * HeUniform
            * Orthogonal
        * Activations
            * Sigmoid
            * Tanh
            * ReLU
            * Linear
            * Softmax
            * Elliot
            * SymmetricElliot
            * SoftPlus
            * SoftSign
        
        
        
        Changelog
        ---------
        
        
        0.4.0 (2017.-06-18)
        ~~~~~~~~~~~~~~~~~~~
        
        Version 0.4.0.
        
        * Embedding backward
        * Momentum
        * NesterovMomentum
        * Adagrad
        * RMSprop
        * Adadelta
        * Adam
        * Adamax
        
        
        
        0.3.0 (2017-06-15)
        ~~~~~~~~~~~~~~~~~~
        
        Version 0.3.0.
        
        * Add chatbot application.
        * Add more examples.
        * Support LSTM.
        * Support GRU.
        
        
        0.2.5 (2017-05-30)
        ~~~~~~~~~~~~~~~~~~
        
        Version 0.2.5.
        
        Add almost all test.
        
        
        
        0.2 (2017-05-10)
        ~~~~~~~~~~~~~~~~
        
        Second release.
        
        Support Layers:
        
        * Batch Normalization Layer
        * Embedding Layer
        * MeanPooling Layer
        * Flatten Layer
        
        Support Activations:
        
        * SymmetricElliot
        * LReLU
        * SoftPlus
        * SoftSign
        
        Support Initializations:
        
        * HeNormal
        * HeUniform
        * Orthogonal
        
        Add more tutorials.
        
        Add more API comments.
        
        
        
        0.1 (2017-04-11)
        ~~~~~~~~~~~~~~~~
        
        First release.
        
        Support layers:
        
        * Dense (perceptron) Layer
        * Softmax Layer
        * Dropout Layer
        * Convolution Layer
        * MaxPooling Layer
        * SimpleRNN Layer
        
        
        Support Activations:
        
        * Sigmoid
        * Tanh
        * ReLU
        * Softmax
        * Elliot
        
        
        Support Initializations:
        
        * Uniform
        * Normal
        * LecunUniform
        * GlorotUniform
        * GlorotNormal
        
        
        Support Objectives:
        
        * MeanSquaredError
        * HellingerDistance
        * BinaryCrossEntropy
        * SoftmaxCategoricalCrossEntropy
        
        
        Support Optimizers:
        
        * SGD
        
        
Keywords: deep learning library
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
