This is the small library for deep learning.
Project description
This is Grand Lantern neural network library рџЏ®
The main purpose of this library is to understand - what is happening under the hood of popular deep learning frameworks. Also, it can be used to build your own ideas - no special knowledge for thst you need!
This library is written only using numpy (maybe cupy in future), you can see every calculation in neural network!
How to install в›ЏпёЏ
Just put this command to terminal
pip install grandlantern
Get started рџљЂ
1. Import library
import grandlantern
2. Define Data Iterator
from grandlantern.dataiterators import DatasetIterator, TableDataset
batch_size = 100
my_dataset_iterator = DatasetIterator(dataset=TableDataset(), batch_size=batch_size)
3. Choose optimizer
from grandlantern.optimizers import SGD
my_optimizer = SGD(learning_rate=0.01)
4. Build model
from grandlantern import model
from grandlantern.metrics import CrossEntropy, Accuracy
NN = model(n_epochs=100,
dataset_iterator=my_dataset_iterator,
loss_function=CrossEntropy(),
metric_function=Accuracy(),
optimizer=my_optimizer)
5. Add layers
from grandlantern.layers import LinearLayer
from grandlantern.layers.Activation import Sigmoid, ReLU, SoftMax
NN.add_layer(LinearLayer(n_neurons=100, activation=Sigmoid(), biased=True))
NN.add_layer(LinearLayer(n_neurons=50, activation=ReLU(), biased=True))
NN.add_layer(LinearLayer(n_neurons=10, activation=SoftMax(), biased=True))
Also layers can be added using attribute model.layers:
from grandlantern.layers import LinearLayer
from grandlantern.layers.Activation import Sigmoid, ReLU, SoftMax
NN.layers =
[
LinearLayer(n_neurons=100, activation=Sigmoid(), biased=True),
LinearLayer(n_neurons=50, activation=ReLU(), biased=True)
LinearLayer(n_neurons=10, activation=SoftMax(), biased=True)
]
To look at the model structure the command print can be used:
print(NN)
6. Train model
Inputs for training must be numpy arrays. There is also option to validate model on test data while training (X_test and y_test are optional).
NN.fit(X_train, y_train.reshape(-1, 1), X_test, y_test.reshape(-1, 1))
7. Use model
Input for prediction must be numpy array.
y_pred = NN.predict(X_test)
What is supported now вњ…
Layers
- Linear Layer (LinearLayer)
- Image Convolutional Layer (Conv2DLayer)
- Batch Normalization Layer (BatchNormLayer)
- RNN Layer (RNNLayer)
Optimizers
- SGD
- NAG
- Adagrad
- Adam
What will be done рџ“ќ
New Layers
- LSTM, GRU layers
- Transformers
GPU Accelaration using cupy
Some more optimizers
Regularization
- L1, L2 regularization
- Dropout
- Pooling
Preprocessing modules
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grandlantern-0.0.16.tar.gz.
File metadata
- Download URL: grandlantern-0.0.16.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b09cc75ee10709187d94b411fe82b811861ea895b4a05a558e4509bdf0b2780
|
|
| MD5 |
94df22289eeeed3c267d37059cf6e25b
|
|
| BLAKE2b-256 |
4c7be0d526c0c7ab31a1e078ae469eeada7aec74e2b917c09987e49571f9a8bc
|
File details
Details for the file grandlantern-0.0.16-py3-none-any.whl.
File metadata
- Download URL: grandlantern-0.0.16-py3-none-any.whl
- Upload date:
- Size: 24.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7b4a2efe4f520dba8a7673b0a61ea8da73234acc1a89bd8b441dd8a879fabeb
|
|
| MD5 |
e73c4d6205c52b5e65c3e0d076f17ae8
|
|
| BLAKE2b-256 |
a5e337e637bb0493fa2f6e29b8dac1f0b541714d0e3c044e2ec6e9886dfb9bf5
|