{ "info": { "author": "Chao-Ming Wang", "author_email": "oujago@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Artificial Intelligence" ], "description": "\n.. image:: https://readthedocs.org/projects/numpydl/badge/\n :target: http://numpydl.readthedocs.org/en/latest/\n\n.. image:: https://img.shields.io/badge/license-MIT-blue.svg\n :target: https://github.com/oujago/NumpyDL/blob/master/LICENSE\n\n.. image:: https://api.travis-ci.org/oujago/NumpyDL.svg\n :target: https://travis-ci.org/oujago/NumpyDL\n\n.. image:: https://coveralls.io/repos/github/oujago/NumpyDL/badge.svg\n :target: https://coveralls.io/github/oujago/NumpyDL\n\n.. image:: https://badge.fury.io/py/npdl.svg\n :target: https://badge.fury.io/py/npdl\n\n.. image:: https://img.shields.io/badge/python-3.5-blue.svg\n :target: https://pypi.python.org/pypi/npdl\n\n.. image:: https://img.shields.io/badge/python-3.6-blue.svg\n :target: https://pypi.python.org/pypi/npdl\n\n.. https://codeclimate.com/github/oujago/NumpyDL/badges/gpa.svg\n :target: https://codeclimate.com/github/oujago/NumpyDL\n\n.. image:: https://codeclimate.com/github/oujago/NumpyDL/badges/issue_count.svg\n :target: https://codeclimate.com/github/oujago/NumpyDL\n\n.. image:: https://img.shields.io/github/issues/oujago/NumpyDL.svg\n :target: https://github.com/oujago/NumpyDL\n\n.. image:: https://zenodo.org/badge/83100910.svg\n :target: https://zenodo.org/badge/latestdoi/83100910\n\n\n\nNumpyDL: Numpy Deep Learning Library\n====================================\n\nDescriptions\n============\n\n``NumpyDL`` is:\n\n1. Based on Pure Numpy/Python\n2. For DL Education\n3. And for My Homework\n\n\nFeatures\n========\n\nIts main features are:\n\n1. *Pure* in Numpy\n2. *Native* to Python\n3. *Automatic differentiations* are basically supported\n4. *Commonly used models* are provided: MLP, RNNs, LSTMs and CNNs\n5. *API* like ``Keras`` library\n6. *Examples* for several AI tasks\n7. *Application* for a toy chatbot\n8. *Mobile friendly* documents\n\n\nDocumentation\n=============\n\nAvailable online documents:\n\n1. `latest docs `_\n2. `development docs `_\n3. `stable docs `_\n\nAvailable offline PDF:\n\n1. `latest PDF `_\n\n\nInstallation\n============\n\nInstall NumpyDL using pip:\n\n.. code-block:: bash\n\n $> pip install npdl\n\nInstall from source code:\n\n.. code-block:: bash\n\n $> python setup.py install\n\n\nExamples\n========\n\n``NumpyDL`` provides several examples of AI tasks:\n\n* sentence classification\n * LSTM in *examples/lstm_sentence_classification.py*\n * CNN in *examples/cnn_sentence_classification.py*\n* mnist handwritten recognition\n * MLP in *examples/mlp-mnist.py*\n * MLP in *examples/mlp-digits.py*\n * CNN in *examples/cnn-minist.py*\n* language modeling\n * RNN in *examples/rnn-character-lm.py*\n * LSTM in *examples/lstm-character-lm.py*\n\nOne concrete code example in *examples/mlp-digits.py*:\n\n.. code-block:: python\n\n import numpy as np\n from sklearn.datasets import load_digits\n import npdl\n\n # prepare\n npdl.utils.random.set_seed(1234)\n\n # data\n digits = load_digits()\n X_train = digits.data\n X_train /= np.max(X_train)\n Y_train = digits.target\n n_classes = np.unique(Y_train).size\n\n # model\n model = npdl.model.Model()\n model.add(npdl.layers.Dense(n_out=500, n_in=64, activation=npdl.activation.ReLU()))\n model.add(npdl.layers.Dense(n_out=n_classes, activation=npdl.activation.Softmax()))\n model.compile(loss=npdl.objectives.SCCE(), optimizer=npdl.optimizers.SGD(lr=0.005))\n\n # train\n model.fit(X_train, npdl.utils.data.one_hot(Y_train), max_iter=150, validation_split=0.1)\n\n\n\nApplications\n============\n\n``NumpyDL`` provides one toy application:\n\n* Chatbot\n * seq2seq in *applications/chatbot/model.py*\n\n\nAnd its final result:\n\n.. figure:: applications/chatbot/pics/chatbot.png\n :width: 80%\n\n\nSupports\n========\n\n``NumpyDL`` supports following deep learning techniques:\n\n* Layers\n * Linear\n * Dense\n * Softmax\n * Dropout\n * Convolution\n * Embedding\n * BatchNormal\n * MeanPooling\n * MaxPooling\n * SimpleRNN\n * GRU\n * LSTM\n * Flatten\n * DimShuffle\n* Optimizers\n * SGD\n * Momentum\n * NesterovMomentum\n * Adagrad\n * RMSprop\n * Adadelta\n * Adam\n * Adamax\n* Objectives\n * MeanSquaredError\n * HellingerDistance\n * BinaryCrossEntropy\n * SoftmaxCategoricalCrossEntropy\n* Initializations\n * Zero\n * One\n * Uniform\n * Normal\n * LecunUniform\n * GlorotUniform\n * GlorotNormal\n * HeNormal\n * HeUniform\n * Orthogonal\n* Activations\n * Sigmoid\n * Tanh\n * ReLU\n * Linear\n * Softmax\n * Elliot\n * SymmetricElliot\n * SoftPlus\n * SoftSign\n\n\n\nChangelog\n---------\n\n\n0.4.0 (2017.-06-18)\n~~~~~~~~~~~~~~~~~~~\n\nVersion 0.4.0.\n\n* Embedding backward\n* Momentum\n* NesterovMomentum\n* Adagrad\n* RMSprop\n* Adadelta\n* Adam\n* Adamax\n\n\n\n0.3.0 (2017-06-15)\n~~~~~~~~~~~~~~~~~~\n\nVersion 0.3.0.\n\n* Add chatbot application.\n* Add more examples.\n* Support LSTM.\n* Support GRU.\n\n\n0.2.5 (2017-05-30)\n~~~~~~~~~~~~~~~~~~\n\nVersion 0.2.5.\n\nAdd almost all test.\n\n\n\n0.2 (2017-05-10)\n~~~~~~~~~~~~~~~~\n\nSecond release.\n\nSupport Layers:\n\n* Batch Normalization Layer\n* Embedding Layer\n* MeanPooling Layer\n* Flatten Layer\n\nSupport Activations:\n\n* SymmetricElliot\n* LReLU\n* SoftPlus\n* SoftSign\n\nSupport Initializations:\n\n* HeNormal\n* HeUniform\n* Orthogonal\n\nAdd more tutorials.\n\nAdd more API comments.\n\n\n\n0.1 (2017-04-11)\n~~~~~~~~~~~~~~~~\n\nFirst release.\n\nSupport layers:\n\n* Dense (perceptron) Layer\n* Softmax Layer\n* Dropout Layer\n* Convolution Layer\n* MaxPooling Layer\n* SimpleRNN Layer\n\n\nSupport Activations:\n\n* Sigmoid\n* Tanh\n* ReLU\n* Softmax\n* Elliot\n\n\nSupport Initializations:\n\n* Uniform\n* Normal\n* LecunUniform\n* GlorotUniform\n* GlorotNormal\n\n\nSupport Objectives:\n\n* MeanSquaredError\n* HellingerDistance\n* BinaryCrossEntropy\n* SoftmaxCategoricalCrossEntropy\n\n\nSupport Optimizers:\n\n* SGD\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/oujago/NumpyDL", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://numpydl.readthedocs.io", "keywords": "deep learning library", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "npdl", "package_url": "https://pypi.org/project/npdl/", "platform": "", "project_url": "https://pypi.org/project/npdl/", "project_urls": { "Download": "https://github.com/oujago/NumpyDL", "Homepage": "http://numpydl.readthedocs.io" }, "release_url": "https://pypi.org/project/npdl/0.4.0.1/", "requires_dist": null, "requires_python": "", "summary": "Deep Learning Library based on pure Numpy", "version": "0.4.0.1" }, "last_serial": 2957244, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "415b621cd0d03e0e5b8696f84ce8e070", "sha256": "cf3036e1188108cee44e071885fb56688f6d8529573de43793878ec18e1800cd" }, "downloads": -1, "filename": "npdl-0.1.0.tar.gz", "has_sig": false, "md5_digest": "415b621cd0d03e0e5b8696f84ce8e070", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19754, "upload_time": "2017-04-11T13:46:20", "url": "https://files.pythonhosted.org/packages/59/e1/4f4620b07a8e4fa0d0d958e37538e0a7a8ee547898905b3736eac9654586/npdl-0.1.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "b83a33852cb77b22a940eb9ad2222269", "sha256": "8442a7b219b1e7e1936859c5102bef29fb2bf20f1fe99788c62eccd22743abf0" }, "downloads": -1, "filename": "npdl-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b83a33852cb77b22a940eb9ad2222269", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 112020, "upload_time": "2017-06-13T05:46:55", "url": "https://files.pythonhosted.org/packages/81/4c/0a8107d35c9a203c98efd165e6cbf3f595afb192fecc6443bf035b0ef31a/npdl-0.3.0.tar.gz" } ], "0.4.0.1": [ { "comment_text": "", "digests": { "md5": "a6e011dc2c0f17c3bf6d0dab088d7a97", "sha256": "48062c5e4c7e7156b520d6ffbf07d3877da4561022d771f7472a71a8999561e4" }, "downloads": -1, "filename": "npdl-0.4.0.1.tar.gz", "has_sig": false, "md5_digest": "a6e011dc2c0f17c3bf6d0dab088d7a97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 567220, "upload_time": "2017-06-18T05:43:52", "url": "https://files.pythonhosted.org/packages/7e/01/2fa5f83cf02891f29a3c077db15e002cd49d08cc986a6d6d8b87dfa56733/npdl-0.4.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a6e011dc2c0f17c3bf6d0dab088d7a97", "sha256": "48062c5e4c7e7156b520d6ffbf07d3877da4561022d771f7472a71a8999561e4" }, "downloads": -1, "filename": "npdl-0.4.0.1.tar.gz", "has_sig": false, "md5_digest": "a6e011dc2c0f17c3bf6d0dab088d7a97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 567220, "upload_time": "2017-06-18T05:43:52", "url": "https://files.pythonhosted.org/packages/7e/01/2fa5f83cf02891f29a3c077db15e002cd49d08cc986a6d6d8b87dfa56733/npdl-0.4.0.1.tar.gz" } ] }