Package smearn

smearn is a small deep learning library I made to learn the fundamentals of deep learning.

At the moment it can only be used to create feedforward neural networks for supervised learning, and I have no intention of expanding its functionality to handle recurrent neural networks or unsupervised learning. However, with how the library has been set up, expanding it to handle these extra functionalities would be straightforward. Moreover, needless to say, there are many better alternatives.

The module is based on a symbolic treatment of the computations that a neural network performs that allows for learning using gradient methods and backpropagation. This basis is included in the smearn.symbolic submodule, which along with smearn.models is imported into the main smearn module. All the computations are done using numpy.

Expand source code
'''
`smearn` is a small deep learning library I made to learn the fundamentals of deep learning.

At the moment it can only be used to create feedforward neural networks for supervised learning, and I have no intention of expanding its functionality to handle recurrent neural networks or unsupervised learning. However, with how the library has been set up, expanding it to handle these extra functionalities would be straightforward.
Moreover, needless to say, there are many better alternatives.

The module is based on a symbolic treatment of the computations that a neural network performs that allows for learning using gradient methods and backpropagation. This basis is included in the `smearn.symbolic` submodule, which along with `smearn.models` is imported into the `main` smearn module.
All the computations are done using `numpy`.
'''

from .symbolic import *
from .models import *

from . import layers
from . import optimization
from . import regularization

Sub-modules

smearn.layers

The module smearn.layers contains many of the most common operations used in computation graphs for neural networks.

smearn.models

The smearn.models module contains the Model class, which provides a wrapper to optimize feedforward neural networks using supervised …

smearn.optimization

The smearn.optimization module includes some gradient-based optimization techniques for neural networks (namely, stochastic gradient descent, …

smearn.regularization

The smearn.regularization module includes a few regularization techniques, such as L1 and L2 regularization and bagging ensembles. The …

smearn.symbolic

The module smearn.symbolic contains the basics of symbolic manipulation on which smearn are based. It contains the basics of computation graphs …