Visualize neural networks into a hierarchical graph using NetworkX.
Weights and signs will be respected.
While analyzing a neuron network layout, to fully comprehend the network, it is important to segregate the source, interneurons and target neurons. Another thing of importance is the direction and sign of the weights of the synapses.
Additionally, we might have connections within the interneurons themselves.
This is just a small tool to read a set of neurons, respect the neuron and synapse definitions and show them on a network whose edges are proportional to the weights and are colored based on the signs of the weights.
- A virtual environment
netviz-venvhas been created to overcome any dependency issues. - To activate this virtual environment, use the command
netviz-venv\Scripts\activate.bat
Was created with the command
python -m venv netviz-venv
-
Define the nodes that are required in the graph(along with the type/level of node) in a JSON file under the path
datafiles/nodes.json -
The nodes will be listed as a dictionary with a key that specifies the
typeand anodeskey that contain the list of nodes[ {"nodes":[1,2,3,4,5,6,7], "name":"sensory"}, {"nodes":[8,9,10,11,12], "name":"inter"}, {"nodes":[13,14], "name":"motor"} ]
- Define the edges by using adjacency matrixes to represent the edges between nodes of sections
- Define the
datafiles/edge_files.jsonas a list of dictionaries containing thefromandtosection and thepathdefined as the path to the data file containing their corresponding adjacency matrices
[
{"path":"datafiles/weights/sensorweights.dat", "columns_section":"inter","rows_section":"sensory"},
{"path":"datafiles/weights/interweights.dat", "columns_section":"inter","rows_section":"inter"},
{"path":"datafiles/weights/motorweights.dat", "columns_section":"motor","rows_section":"inter"}
]The layouts can also be organized by using the multi-patriate layouts in networkx.
The entire project was done under the guidance of Professor Eduardo J Izquierdo at Indiana University Bloomington. I hope that I could be as lively, enthusiastic, and energetic as him in the projects I get to work on. None of this would have been possible if not for his support, ideas, patience and freedom given. Thank You!