NVIDIA Deep Learning Examples
NVIDIA Deep Learning Examples
Synthetic Graph Generation for DGL-PyTorch
Resource
NVIDIA Deep Learning Examples
NVIDIA Deep Learning Examples
Synthetic Graph Generation for DGL-PyTorch

The Synthetic Graph Generation tool enables users to generate arbitrary graphs based on provided real data.

Our results were obtained by running the demo notebooks directory in the PyTorch NGC container on NVIDIA DGX1 V100 with 8x V100 32GB GPUs. All the notebooks are presented in the table below.

scopenotebookdescription
1.basic_exampleser_demo.ipynbgenerating different types of random graphs using Erdős–Rényi model
2.basic_examplesieee_demo.ipynbgenerating a bipartite graph structure based on provided edge list
3.basic_examplescora_demo.ipynbgenerating a non-bipartite graph structure based on provided edge list
4.advanced_examplese2e_cora_demo.ipynba complete process of reconstructing and analyzing a non-bipartite graph dataset with node features
5.advanced_examplese2e_ieee_demo.ipynba complete process of reconstructing and analyzing a bipartite graph dataset with edge features
6.advanced_examplesfrechet_lastfm_demo.ipynbSynGen non-bipartite graph structure generators scaling analysis
7.advanced_examplesfrechet_tabformer_demo.ipynbSynGen bipartite graph structure generators scaling analysis
8.advanced_examplesedge_classification_pretraining.ipynbusing synthetic data from SynGen for GNN pretraining
9.performancestruct_generator.ipynbcomparison of SynGen graph structure generators
10.performancetabular_generator.ipynbcomparison of SynGen tabular data generators

Scope refers to the directories in which the notebooks are stored and the functionalities particular notebooks cover . There are

  • Basic - basic_examples - notebooks with the examples of basics functionalities
  • Advanced - advanced_examples - notebooks with the examples of advanced functionalities
  • Performance - performance - notebooks with the performance experiments

To achieve the same results, follow the steps in the Quick Start Guide.

Results

1. Quality of the content of generated dataset vs. original dataset:

The quality of the content comparison was conducted on the IEEE dataset (refer to List of datasets for more details) with corresponding notebook e2e_ieee_demo.ipynb We compared three modalities, that is, quality of generated graph structure, quality of generated tabular data and quality of aligning tabular data to the graph structure.

  • Graph structure quality

  • Tabular data quality

    • Comparison of two first components of a PCA of real and generated data pca_components

    • Comparison of basic statistics between real and generated data

      Generatorkl divergencecorrelation correlation
      GAN0.9120.018
      Gaussian0.065-0.030
      Random0.6170.026
  • Structure to tabular alignment quality

    • Degree centrality for feature distribution degree_centrality_feature_distribution
2. Performance (speed) of the synthetic dataset generation:
  • Performance of graph structure generation (edges/s) edge_perf

  • Performance of categorical tabular data generation (samples/s)

    DatasetKDEKDE_SKUniformGaussianCTGAN
    ieee142060026409731768136150972933202
3. Synthetic dataset use-case specific quality factors:
  • Performance (batches/s) comparison between original vs. synthetic datasets

    DatasetModelSyntheticOriginal
    ieeegat0.071730.07249