Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Deep Learning Library. For education. Based on pure Numpy. Support CNN, RNN, LSTM, GRU etc.

License

Notifications You must be signed in to change notification settings

chaoming0625/NumpyDL

Repository files navigation

https://readthedocs.org/projects/numpydl/badge/ https://travis-ci.com/chaoming0625/NumpyDL.svg?branch=master

NumpyDL: Numpy Deep Learning Library

Descriptions

NumpyDL is:

  1. Based on Pure Numpy/Python
  2. For DL Education

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. Examples for several AI tasks
  6. Application for a toy chatbot

Documentation

Available online documents:

  1. latest docs
  2. development docs
  3. stable docs

Available offline PDF:

  1. latest PDF

Installation

Install NumpyDL using pip:

$> pip install npdl

Install from source code:

$> 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:

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:

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

About

Deep Learning Library. For education. Based on pure Numpy. Support CNN, RNN, LSTM, GRU etc.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 8

AltStyle によって変換されたページ (->オリジナル) /