Skip to main content

Quickly, with very little code, create PyTorch Lightning models

Project description

Lightning Factory

Lightning Factory

Lightning Factory is a Python library designed to simplify the creation of PyTorch Lightning models for various types of neural networks. It follows the parameterized factory pattern and allows users to specify custom configurations or use common defaults for quick prototyping.

Usage

pip install lightning_factory

To create a feed-forward neural network model:

import lightning_factory as lf

model = lf.ffnn(layers=[5, 3, 3, 1])

Easily define the layer structure:

layers example

Set default parameters when constructing the factory:

from lightning_factory import LightningFactory
from lightning_factory import LossFunction
from lightning_factory import ActivationFunction

lf = LightningFactory(
    loss_function=LossFunction.MSE,
    batch_size=32,
    activation_function=ActivationFunction.Softplus
)
model1 = lf.ffnn(layers=[5,3,3,1])
model2 = lf.ffnn(layers=[5,8,4,2,1], activation_function=ActivationFunction.Tanh)

The LightningFactory class uses the following defaults when making a class:

default = {
    'layers': None,
    'learning_rate': 0.001,
    'max_epochs': 8,
    'batch_size': 64,
    'loss_function': 'BCE',
    'activation_function': 'ReLU',
    'optimizer': 'Adam',
    'dropout': 0,
    'l1_regularization': 0,
    'l2_regularization': 0,
    'weight_initialization': 'xavier_uniform'
}

Testing Coverage

Name Stmts Miss Branch BrPart Cover Missing
lightning_factory/LightningFactory.py 18 0 8 0 100%
lightning_factory/__init__.py 3 0 0 0 100%
lightning_factory/create_ffnn.py 41 29 14 0 22% 19-30, 34-36, 40-46, 50-59, 63-71
lightning_factory/enums.py 121 0 18 0 100%
lightning_factory/functions.py 4 2 0 0 50% 6-7
TOTAL 187 31 40 0 80%

To run a coverage report

coverage report --format=markdown

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lightning_factory-0.1.1.tar.gz (108.0 kB view hashes)

Uploaded Source

Built Distribution

lightning_factory-0.1.1-py3-none-any.whl (9.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page