A Python library that builds neural networks with minimal boilerplate code for PyTorch and TensorFlow.
nn_builder is a Python library that automatically generates neural network architectures for PyTorch and TensorFlow with minimal code. It solves the problem of writing repetitive boilerplate code when creating neural networks by allowing developers to specify network configurations in a concise format. The library supports multiple network types including fully connected networks, convolutional networks, and recurrent networks.
Machine learning practitioners and researchers who work with PyTorch or TensorFlow and want to accelerate neural network prototyping. It's particularly useful for those who frequently experiment with different architectures and want to reduce implementation overhead.
Developers choose nn_builder because it dramatically reduces the amount of code needed to create neural networks while maintaining full customization capabilities. Unlike manually writing network layers, it provides a standardized interface that works across both major deep learning frameworks with consistent configuration options.
Build neural networks with less boilerplate code
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works seamlessly with both PyTorch and TensorFlow 2.0 for NN, CNN, and RNN, as shown in the support table, reducing framework-specific boilerplate.
Enables defining complex networks in one line of code, with README examples demonstrating how it replaces dozens of PyTorch/TensorFlow lines with concise configurations.
Offers extensive options like activation functions, dropout, batch normalization, and embeddings through parameters like hidden_activations and batch_norm, allowing fine-tuned model design.
Simplifies handling categorical variables with built-in embedding layers via columns_of_data_to_be_embedded and embedding_dimensions, reducing preprocessing code.
Only supports basic NN, CNN, and RNN types, with no built-in capabilities for advanced models like transformers, as admitted in the feature list, restricting innovation.
The layers_info parameter requires precise list structures (e.g., for CNN: ["conv", 32, 3, 1, 0]), which can be error-prone and less intuitive than direct coding for custom layers.
Relies on a single colab notebook for examples and lacks detailed API docs or tutorials for edge cases, potentially hindering adoption in complex scenarios.