A framework for defining, validating and visualizing neural network architectures.
Project description
narchi - A neural network architecture definition package
narchi is as python package that provides functionalities for defining neural network architectures in an implementation independent way. It is intended to make network architectures highly configurable while also making the task easier.
Main features
Network architectures are written in jsonnet format, which provides useful features like input parameters and functions to define repeated blocks.
The shapes of the tensors internal to the networks are automatically deduced by propagating the shapes of the inputs, thus requiring less effort and being less error prone.
Propagation of shapes is done using symbolic arithmetic which makes it simple to understand relationships between inputs and the derived shapes.
Architecture files can reference other architecture files, thus making this approach modular.
A command line tool is included to validate jsonnet architecture files and to create detailed diagrams of the respective network architectures.
Several examples intended to illustrate different features supported.
Includes basic implementations that allows to instantiate pytorch modules:
Instantiation only requires a jsonnet architecture file.
No need to write module classes or forward function for each new architecture.
One basic implementation that supports instatiating several of the examples.
A second example that supports packed 1d and 2d sequences which illustrates the implementation independent nature of the architecture files.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file narchi-1.6.0-py3-none-any.whl
.
File metadata
- Download URL: narchi-1.6.0-py3-none-any.whl
- Upload date:
- Size: 59.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d35b5a14d4a2bf0e4a3c20dd1211c0364fc78ce4414247cf46114ca295d9b42f |
|
MD5 | 53cbe3a524aa4545959ca34848c58065 |
|
BLAKE2b-256 | 71d5f0c925ed1db0acefaea30ae00d272dabceaa41523dae327b6fa5027827e3 |