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

Uploaded Source

Built Distribution

flexinet-0.0.2-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flexinet-0.0.2.tar.gz
  • Upload date:
  • Size: 10.5 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.2.tar.gz
Algorithm Hash digest
SHA256 60f22290af8642c7e61b744e846e00b0c181db9d97a7675cf6a86f249270793f
MD5 bd190b5c10bf223e0e735bafba808417
BLAKE2b-256 b40ca31f5338f779a3ac268a91db09ab8de77410f416085650f04b3b1c7acc9d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flexinet-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 264221ba35d8259c90dd80112388d1b1336d7e93e477ce734c665df0d5669c04
MD5 3007884c399d7d874e6062da52299631
BLAKE2b-256 29fae1fc699b3d2837847e32c66017a3fa5f021ea1e2fe9f691f58905243c81f

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