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.4.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

flexinet-0.0.4-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flexinet-0.0.4.tar.gz
  • Upload date:
  • Size: 11.2 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.4.tar.gz
Algorithm Hash digest
SHA256 4f8ca588f45b4d5b6b2cea5fe65b81e79263dd24993f2ad48e319a00751992ae
MD5 f7a282be62b24c8400f35969c4898dcc
BLAKE2b-256 8f7f782f251c77110574dcfb1e7c667c34ed364d899c5e1b57adc81c87b05c96

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flexinet-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 17.0 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 dc3bcae959a328ec241eb214749481a881d71a94684c0f24a58e0ce62a88b894
MD5 12afb7dfefbc66f60cbb3955e1d2ad21
BLAKE2b-256 8ba3c6a8f4f6c93bf70045c2a04e7368bf542f612a15b034eb4bb22e526a73af

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