List of Software, Tools and Packages for Deep Learning, Graph Machine Learning, Graph Analysis, Graph Generation and Link Prediction
Name | Free/Paid | Purpose/Used For |
---|---|---|
Deep Learning | ||
TensorFlow | Free | Open-source machine learning framework that can be used for deep learning applications, regression, and classification. |
Keras (with TensorFlow backend) | Free | A high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. |
PyTorch | Free | An open-source machine learning library based on Torch, often used for applications that require dynamic computation graphs. |
Scikit-learn | Free | A Python ML library that offers simple and efficient tools for data analysis and modeling. |
Caffe | Free | A deep learning framework with a focus on expressiveness, speed, and modularity. |
XGBoost | Free | An optimized gradient boosting library suitable for regression, classification, and ranking tasks. |
LightGBM | Free | A gradient boosting framework that uses tree-based learning algorithms, optimized for speed and performance. |
ONNX (Open Neural Network Exchange) | Free | An open standard format for representing machine learning models, facilitating interoperability among various frameworks. |
Neural Designer | Paid | Advanced analytics software for data science and machine learning tasks. |
MATLAB with Neural Network Toolbox | Paid | Offers tools for designing and simulating neural networks which can be applied to optical networks modeling. |
H2O.ai | Free (Enterprise version is Paid) | An open-source AI platform that offers a variety of ML algorithms and tools. |
Graph Deep Learning | ||
DGL (Deep Graph Library) | Free | A Python library for graph neural networks. Supports various backend frameworks like PyTorch and MXNet. |
PyTorch Geometric (PyG) | Free | An extension of PyTorch for geometric deep learning (like Graph Neural Networks). |
Graph Nets | Free | A TensorFlow library for building graph networks, from DeepMind. |
StellarGraph | Free | Python library for machine learning on graphs. Offers a variety of algorithms for graph machine learning. |
Spektral | Free | A library for graph neural networks with a TensorFlow 2.x backend. |
Karate Club | Free | A Python library for unsupervised machine learning on graphs, offering a wide array of modern methods. |
Node2Vec | Free | A method and associated library for graph embeddings. |
GNN (Graph Neural Networks) with TensorFlow and Keras | Free | Offers support for designing graph neural networks using familiar TensorFlow and Keras interfaces. |
CUGRAPH | Free | Based on RAPIDS.AI, it allows for GPU acceleration for graph analytics. |
Neo4j with Graph Data Science Library | Both (Free version and Paid enterprise version) | A graph database with an associated data science library for graph algorithms. |
GraphVite | Free | A high-performance CPU-GPU hybrid system for node embeddings, graph layouts, and graph learning. |
Graph Visualisation | ||
NetworkX | Free | Python library for graph creation, manipulation, and analysis. |
Gephi | Free | Interactive visualization and exploration platform for graphs, great for large-scale graph analysis. |
Graph-tool | Free | Python library for graph analysis with statistical and scalability optimizations. |
Cytoscape | Free | Platform for complex network analysis and visualization. |
igraph (Python, C, R versions) | Free | Library for creating and analyzing graphs. |
Neo4j with Neo4j Bloom | Both (Free version and Paid enterprise version) | Graph database with a visualization tool (Bloom). |
Pyvis | Free | Python library for visualizing networks. |
Graphviz | Free | Graph visualization software with various bindings for different languages including Python. |
Bokeh with Holoviews | Free | Interactive visualization in Python, with Holoviews offering extended functionalities for graph visualization. |
Plotly | Both (Free and Paid versions) | Python graphing library, supports network visualization among various other plot types. |
Vis.js | Free | Dynamic, browser-based visualization library. Can be used with Python via certain wrappers. |
Sigma.js | Free | JavaScript library dedicated to graph drawing. |
Graph Generation | ||
NetworkX | Free | Python library that provides functions to generate both classic graphs and random graphs. |
igraph (Python, C, R versions) | Free | Library that provides capabilities to generate various types of random graphs. |
Graph-tool | Free | Python library with capabilities to generate random graphs based on various algorithms. |
SNAP.py | Free | Large-scale graph processing and analysis library with functionalities to generate graphs. |
Gephi | Free | While primarily a visualization tool, Gephi has plugins that allow for graph generation. |
GTgraph | Free | A suite of synthetic graph generators. |
BRITE (Boston university Representative Internet Topology gEnerator) | Free | Generates synthetic topologies that resemble the Internet's AS topology. |
RMAT (Recursive MATrix) | Part of Graph500 benchmark | Algorithm for generating large graphs with power-law degree distribution and small-world properties. |
LFR-Benchmark Generator | Free | Generates benchmark networks with built-in community structure. |
MUSKETEER | Free | Graph generator tool to create realistic graphs for given node degree distribution, clustering coefficient, etc. |
Graph500 | Free | A benchmark suite that includes the Kronecker graph generator. |
Link Prediction | ||
NetworkX | Free | While primarily a graph analysis tool, NetworkX has basic functions that can be adapted to compute features useful for link prediction. |
igraph (Python, C, R versions) | Free | Has functionalities that can help compute measures and features necessary for link prediction. |
Snap.py | Free | A Python library for large-scale network analysis. Contains utilities that can be employed for link prediction. |
LinkPred | Free | Dedicated Python library for link prediction. It offers a range of predictors from basic ones to more complex algorithms. |
OpenNE | Free | A Python toolkit for Network Embedding (NE), a method used for link prediction. Offers implementations of various NE methods. |
Karate Club | Free | Python library offering several state-of-the-art graph embedding techniques, useful for link prediction. |
GEM (Graph Embedding Methods) | Free | A Python repository containing several graph embedding techniques, which can be applied for tasks like link prediction. |
DeepWalk | Free | A Python implementation of the DeepWalk algorithm, which uses deep learning to learn latent representations of nodes for link prediction. |
node2vec | Free | Python implementation of the node2vec algorithm, useful for link prediction using learned node embeddings. |
GraphSAGE | Free | Uses node feature information to inductively generate embeddings, which can then be used for link prediction. |
Spektral | Free | Python library for graph deep learning built on top of TensorFlow 2.x and Keras. It can be used to build models for link prediction. |
PyTorch Geometric (PyG) | Free | PyTorch-based library for deep learning on graphs, provides utilities and models for link prediction. |