Basic introduction to graphs, neural networks and graph neural networks.ipynb
is a Jupyter-notebook of python code snippets reachly intertwined with commentary, that:
- showcases graph manipulation and plotting with
networkx
andpython-igraph
, - uses
GEM
package for graph-embeddings, - introduces basics of
pytorch
for defining a (graph) neural network, - follows the discussion in http://tkipf.github.io/graph-convolutional-networks/ to use a neural network to propagate labels through the canonical Zachary's karate network,
- lists useful resources for further development and study.
The notebook was exported as an html
for ease of viewing (locally) but You are encouraged to run the notebook Yourself.
You can find versions of the used python packages in the environment.yml
file generated by conda
.
To use the node2vec
embedding from the GEM
package, I've downloaded the SNAP
library from here without much hassle.
In order to have the python-igraph
package not complain during plotting, I've installed it via conda install -c conda-forge python-igraph
.