Skip to main content

Flexible torch neural network architecture API

Project description

flexinet-logo

A flexible API for instantiating pytorch neural networks composed of sequential linear layers (torch.nn.Linear). Additionally, makes use of other elements within the torch.nn module.

Test implementation 1: Sequential linear neural network

import flexinet

nn = flexinet.models.NN()
# example
nn = flexinet.models.compose_nn_sequential(in_dim=50,
                                           out_dim=50,
                                           activation_function=Tanh(),
                                           hidden_layer_nodes={1: [500, 500], 2: [500, 500]},
                                           dropout=True,
                                           dropout_probability=0.1,
                                           )

Test implementation 2: vanilla linear VAE

FlexiLinearAVE

Installation

To install the latest distribution from PYPI:

pip install flexinet

Alternatively, one can install the development version:

git clone https://github.com/mvinyard/flexinet.git; cd flexinet;

pip install -e .

Example

import flexinet as fn
import torch

X = torch.load("X_data.pt")
X_data = fn.pp.random_split(X)
X_data.keys()

dict_keys(['test', 'valid', 'train'])

model = fn.models.LinearVAE(X_data,
                            latent_dim=20, 
                            hidden_layers=5, 
                            power=2,
                            dropout=0.1,
                            activation_function_dict={'LeakyReLU': LeakyReLU(negative_slope=0.01)},
                            optimizer=torch.optim.Adam
                            reconstruction_loss_function=torch.nn.BCELoss(),
                            reparameterization_loss_function=torch.nn.KLDivLoss(),
                            device="cuda:0",
                           )
from_nb.linear_VAE
model.train(epochs=10_000, print_frequency=50, lr=1e-4)
from_nb.train_in_progress
model.plot_loss()

loss-plot

Contact

If you have suggestions, questions, or comments, please reach out to Michael Vinyard via email

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

flexinet-0.0.3.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

flexinet-0.0.3-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file flexinet-0.0.3.tar.gz.

File metadata

  • Download URL: flexinet-0.0.3.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for flexinet-0.0.3.tar.gz
Algorithm Hash digest
SHA256 09a6f4823b71fe5c2ca83a4ed1492040cd411da9d7ff07962790266b738051af
MD5 c4efdde966830fa8b551d7682bf51839
BLAKE2b-256 830ce9fd7f979d4afc1aa8afa3be7ab0d2c8f2f885f6d93451d4e733c1af39cc

See more details on using hashes here.

File details

Details for the file flexinet-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: flexinet-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for flexinet-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 378412db0471390f8e8bfa7a99f6ea4e64b24ece43eab0b7847aaf30c38ab6bc
MD5 6ad731b74d301e93b292e3ce82763348
BLAKE2b-256 2fe8c90b3d44e4ee2dab5df466a2f10cbc3995bb600382299d7b178b96e13cbc

See more details on using hashes here.

Supported by

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