Skip to main content

Build neural networks in 1 line

Project description

Image contributions welcome

nn_builder

nn_builder builds neural networks in 1 line to save you time :clock1:. You specify the type of network you want and it builds it.

Install

pip install nn_builder

Support

Network Type NN CNN RNN
PyTorch :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
TensorFlow 2.0 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

Examples

On the left is how you can create the neural network on the right in only 1 line of code using nn_builder:

Screenshot

Tensorflow example...

See this colab notebook for demonstrations of how to use this module.

Usage

Every network requires the same arguments:

Field Description Default
input_dim Dimension of the input into the network excluding the batch size. Not needed for Tensorflow. N/A
layers_info List of integers to indicate the width and number of linear layers you want in your network N/A
output_activation String to indicate the activation function you want the output to go through. Provide a list of strings if you want multiple output heads No activation
hidden_activations String or list of string to indicate the activations you want used on the output of hidden layers (not including the output layer), default is ReLU and for example "tanh" would have tanh applied on all hidden layer activations ReLU after every hidden layer
dropout Float to indicate what dropout probability you want applied after each hidden layer 0
initialiser String to indicate which initialiser you want used to initialise all the parameters PyTorch Default
batch_norm Boolean to indicate whether you want batch norm applied to the output of every hidden layer False
columns of_data_to_be_embedded List to indicate the column numbers of the data that you want to be put through an embedding layer before being fed through the hidden layers of the network No embeddings
embedding_dimensions If you have categorical variables you want embedded before flowing through the network then you specify the embedding dimensions here with a list of the form: [ [embedding_input_dim_1, embedding_output_dim_1], [embedding_input_dim_2, embedding_output_dim_2] ...] No embeddings
y_range Tuple of float or integers of the form (y_lower, y_upper) indicating the range you want to restrict the output values to in regression tasks No range
random_seed Integer to indicate the random seed you want to use 0
print_model_summary Boolean to indicate whether you want a model summary printed after model is created False

After creating a model, the function print_model_summary() can be used to summarise the layers.

More Examples

Contributing

Anyone is very welcome to contribute via a pull request. Please see the Issues page for ideas on the best areas to contribute to and try to:

  1. Add tests to the tests folder that cover any code you write
  2. Write comments for every function
  3. Create a colab notebook demonstrating how any extra functionality you created works

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

nn_builder-0.0.13.tar.gz (28.2 kB view hashes)

Uploaded Source

Built Distribution

nn_builder-0.0.13-py3-none-any.whl (26.1 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