Skip to content

kristianbonnici/nntecture

Repository files navigation

3D fonts


PyPI Version License codecov

NNtecture is a Python package for Neural Network architecture visualization.


Install

NNtecture package runs under Python 3.6+. It can be installed from PyPI:

pip install nntecture

To render the generated DOT source code, you also need to install Graphviz (download page).

Make sure that the directory containing the dot executable is on your systems' path.


Tutorial

Basic Usage

After installation, the package is ready to be imported.

from nntecture import DrawNN

Creating your Neural Network architecture with NNtecture is designed to be as easy and intuitive as possible. Drawing a simple architecture can be done in a single line of code (see below).

DrawNN([2, 4, 4, 2]).draw()

Built In Customization

The capabilities are not limited into this base form. The architecture can be easily customised as demonstrated in below example.

# init
nn = DrawNN([3, 3, 3, 3], nn_type='RNN')

# draw
nn.draw(fillcolor='#AF628F',
        graph_label='Recurrent Neural Network (RNN)',
        linewidth=0.5,
        fontname='times',
        node_labels=True,
        node_fontcolor='#ffffff')

Saving Results

Once satisfied with the architecture, the results can be saved into your desired form.

# create your architecture
perceptron = DrawNN([2, 1])
perceptron.draw(graph_label='Perceptron (P)', fillcolor='lightblue', linewidth=4)

# save to file
perceptron.save(filename='perceptron', output_format='jpg', size='5,5!', view=True)

Advanced Customization Capabilities

Styling your architecture is not limited into the built-in capabilities. In addition, by accessing graph_object, one can further customise the drawing with graphviz (see example below). For more instructions, see graphviz documentation.

# init
nn = DrawNN([4, 3, 2, 1])
nn.draw(direction='UD', fillcolor='blue')

# further customization
nn.graph_object.edge_attr["style"] = "setlinewidth(2)"
nn.graph_object.edge_attr['color'] = 'purple'
nn.graph_object.graph_attr['bgcolor'] = 'black'
nn.graph_object.node_attr["color"] = "white"

# display
nn.graph_object

About

NNtecture is a Python package for Neural Network architecture visualization.

Resources

License

Stars

Watchers

Forks

Packages

No packages published