Simple and easy to use tool to generate Neural Network Visualizations.
pip install nnv
from nnv import NNV
layersList = [
{"title":"input\n(relu)", "units": 3, "color": "darkBlue"},
{"title":"hidden 1\n(relu)", "units": 3},
{"title":"hidden 2\n(relu)", "units": 3, "edges_color":"red", "edges_width":2},
{"title":"output\n(sigmoid)", "units": 1,"color": "darkBlue"},
]
NNV(layersList).render()
It is possible to customize the node size/colors, title font size, spacing between nodes and layers and maximum number of nodes to show,...
from nnv import NNV
# Let's increase the size of the plot
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = (200,10)
layers_list = [
{"title":"input\n(relu)", "units": 300, "color": "darkBlue"},
{"title":"hidden 1\n(relu)", "units": 150},
{"title":"hidden 2\n(relu)", "units": 75},
{"title":"Dropout\n(0.5)", "units": 75, "color":"lightGray"},
{"title":"hidden 4\n(relu)", "units": 18},
{"title":"hidden 5\n(relu)", "units": 9},
{"title":"hidden 6\n(relu)", "units": 4},
{"title":"output\n(sigmoid)", "units": 1, "color": "darkBlue"},
]
NNV(layers_list, max_num_nodes_visible=8, node_radius=10, spacing_layer=60, font_size=24).render(save_to_file="my_example_2.pdf")
NNV documentation is still being created. For now, if you have any question, please look directly the library source code or open an Issue.
Some useful features that may be added in the future (help is welcome):
- add labels to each node
- import layers info directly from a keras model
If you use this library and would like to cite it, you can use:
R. Cordeiro, "NNV: Neural Network Visualizer", 2019. [Online]. Available: https://github.com/renatosc/nnv. [Accessed: DD- Month- 20YY].
or:
@Misc{,
author = {Renato Cordeiro},
title = {NNV: Neural Network Visualizer},
month = may,
year = {2019},
note = {Online; accessed <today>},
url = {https://github.com/renatosc/nnv},
}