A library for graph deep learning research

Overview

logo

PyPI Version Docs Status Build Status codecov Last Commit Contributing License visitors

Documentation | Paper [JMLR] | Tutorials | Benchmarks | Examples

DIG: Dive into Graphs is a turnkey library for graph deep learning research.

Why DIG?

The key difference with current graph deep learning libraries, such as PyTorch Geometric (PyG) and Deep Graph Library (DGL), is that, while PyG and DGL support basic graph deep learning operations, DIG provides a unified testbed for higher level, research-oriented graph deep learning tasks, such as graph generation, self-supervised learning, explainability, and 3D graphs.

If you are working or plan to work on research in graph deep learning, DIG enables you to develop your own methods within our extensible framework, and compare with current baseline methods using common datasets and evaluation metrics without extra efforts.

Overview

It includes unified implementations of data interfaces, common algorithms, and evaluation metrics for several advanced tasks. Our goal is to enable researchers to easily implement and benchmark algorithms. Currently, we consider the following research directions.

  • Graph Generation: dig.ggraph
  • Self-supervised Learning on Graphs: dig.sslgraph
  • Explainability of Graph Neural Networks: dig.xgraph
  • Deep Learning on 3D Graphs: dig.threedgraph

logo

Usage

Example: a few lines of code to run SphereNet on QM9 to incorporate 3D information of molecules.

from dig.threedgraph.dataset import QM93D
from dig.threedgraph.method import SphereNet
from dig.threedgraph.evaluation import ThreeDEvaluator
from dig.threedgraph.method import run

# Load the dataset and split
dataset = QM93D(root='dataset/')
target = 'U0'
dataset.data.y = dataset.data[target]
split_idx = dataset.get_idx_split(len(dataset.data.y), train_size=110000, valid_size=10000, seed=42)
train_dataset, valid_dataset, test_dataset = dataset[split_idx['train']], dataset[split_idx['valid']], dataset[split_idx['test']]

# Define model, loss, and evaluation
model = SphereNet(energy_and_force=False, cutoff=5.0, num_layers=4,
                  hidden_channels=128, out_channels=1, int_emb_size=64,
                  basis_emb_size_dist=8, basis_emb_size_angle=8, basis_emb_size_torsion=8, out_emb_channels=256,
                  num_spherical=3, num_radial=6, envelope_exponent=5,
                  num_before_skip=1, num_after_skip=2, num_output_layers=3)                 
loss_func = torch.nn.L1Loss()
evaluation = ThreeDEvaluator()

# Train and evaluate
run3d = run()
run3d.run(device, train_dataset, valid_dataset, test_dataset, model, loss_func, evaluation,
          epochs=20, batch_size=32, vt_batch_size=32, lr=0.0005, lr_decay_factor=0.5, lr_decay_step_size=15)
  1. For details of all included APIs, please refer to the documentation.
  2. We provide a hands-on tutorial for each direction to help you to get started with DIG: Graph Generation, Self-supervised Learning on Graphs, Explainability of Graph Neural Networks, and Deep Learning on 3D Graphs.
  3. We also provide examples to use APIs provided in DIG. You can get started with your interested directions by clicking the following links.

Installation

Install from pip

The key dependencies of DIG: Dive into Graphs are PyTorch (>=1.6.0), PyTorch Geometric (>=1.6.0), and RDKit.

  1. Install PyTorch (>=1.6.0)
$ python -c "import torch; print(torch.__version__)"
>>> 1.6.0
  1. Install PyTorch Geometric (>=1.6.0)
$ python -c "import torch_geometric; print(torch_geometric.__version__)"
>>> 1.6.0

Note: Our library has not been tested on PyTorch Geometric >= 2.0.0, which is largely different with PyTorch Geometric 1.x.x. Hence, we recommend to install PyTorch Geometric with a version from 1.6.0 to 1.7.2.

  1. Install DIG: Dive into Graphs.
pip install dive-into-graphs

After installation, you can check the version. You have successfully installed DIG: Dive into Graphs if no error occurs.

$ python
>>> from dig.version import __version__
>>> print(__version__)

Install from source

If you want to try the latest features that have not been released yet, you can install dig from source.

git clone https://github.com/divelab/DIG.git
cd DIG
pip install .

Contributing

We welcome any forms of contributions, such as reporting bugs and adding new features. Please refer to our contributing guidelines for details.

Citing DIG

Please cite our paper if you find DIG useful in your work:

@article{JMLR:v22:21-0343,
  author  = {Meng Liu and Youzhi Luo and Limei Wang and Yaochen Xie and Hao Yuan and Shurui Gui and Haiyang Yu and Zhao Xu and Jingtun Zhang and Yi Liu and Keqiang Yan and Haoran Liu and Cong Fu and Bora M Oztekin and Xuan Zhang and Shuiwang Ji},
  title   = {{DIG}: A Turnkey Library for Diving into Graph Deep Learning Research},
  journal = {Journal of Machine Learning Research},
  year    = {2021},
  volume  = {22},
  number  = {240},
  pages   = {1-9},
  url     = {http://jmlr.org/papers/v22/21-0343.html}
}

The Team

DIG: Dive into Graphs is developed by DIVE@TAMU. Contributors are Meng Liu*, Youzhi Luo*, Limei Wang*, Yaochen Xie*, Hao Yuan*, Shurui Gui*, Haiyang Yu*, Zhao Xu, Jingtun Zhang, Yi Liu, Keqiang Yan, Haoran Liu, Cong Fu, Bora Oztekin, Xuan Zhang, and Shuiwang Ji.

Contact

If you have any technical questions, please submit new issues.

If you have any other questions, please contact us: Meng Liu [[email protected]] and Shuiwang Ji [[email protected]].

Comments
  • GradCAM example on ipynb: graph visualization

    GradCAM example on ipynb: graph visualization

    Hi DIG,

    I have tried to understand how to implement the visualization from the ipynb example on pgexplainer and subgraphx for the visualization on gradcam and gnnexplainer. But, I still don't know how to start with it.

    As I try to visualize on gradcam example:

    from dig.xgraph.method.base_explainer import ExplainerBase explainer_base = ExplainerBase(model)

    visualize_graph = explainer_base.visualize_graph(node_idx=5, edge_index=data.edge_index, edge_mask=masks[0], nolabel=True)

    It show this TypeError:


    TypeError Traceback (most recent call last) in 2 explainer_base = ExplainerBase(model) 3 ----> 4 visualize_graph = explainer_base.visualize_graph(node_idx=5, edge_index=data.edge_index, edge_mask=masks[0], nolabel=True)

    ~.conda\envs\py37\lib\site-packages\dig\xgraph\method\base_explainer.py in visualize_graph(self, node_idx, edge_index, edge_mask, y, threshold, nolabel, **kwargs) 234 connectionstyle="arc3,rad=0.08", # rad control angle 235 )) --> 236 nx.draw_networkx_nodes(G, pos, node_color=node_colors, **kwargs) 237 # define node labels 238 if self.molecule:

    TypeError: draw_networkx_nodes() got an unexpected keyword argument 'with_labels'

    grafik

    Could you perhaps give me some tips how to visualize on ipynb example given on gradcam and gnnexplainer?

    xgraph 
    opened by boma-dirgantara 14
  • QM9 and SphereNet example error

    QM9 and SphereNet example error

    Great work!

    When I copied the code from the README file and run it with the QM9 dataset provided by DIG, it showed me the following error when I attempt to create a SphereNet model.

    Traceback (most recent call last): File "main_qm9.py", line 19, in model = SphereNet(energy_and_force=False, cutoff=5.0, num_layers=4, File "/opt/conda/lib/python3.8/site-packages/dig/threedgraph/method/spherenet/spherenet.py", line 265, in init self.emb = emb(num_spherical, num_radial, self.cutoff, envelope_exponent) File "/opt/conda/lib/python3.8/site-packages/dig/threedgraph/method/spherenet/spherenet.py", line 23, in init self.dist_emb = dist_emb(num_radial, cutoff, envelope_exponent) File "/opt/conda/lib/python3.8/site-packages/dig/threedgraph/method/spherenet/features.py", line 178, in init self.reset_parameters() File "/opt/conda/lib/python3.8/site-packages/dig/threedgraph/method/spherenet/features.py", line 181, in reset_parameters torch.arange(1, self.freq.numel() + 1, out=self.freq).mul_(PI) RuntimeError: a leaf Variable that requires grad is being used in an in-place operation.

    3dgraph 
    opened by yuanqidu 9
  • Run GNNExplainer

    Run GNNExplainer

    I am trying to run the GNN Explainer code. Although I have used the install.batch to generate the conda environment, I am having issues with the packages. Namely with tap (in the line "from tap import Tap") . I tried installing it myself and I can import tap but doesn't seem to find anything called Tap on it. Could you guide me here please?

    Also, I was going through the example and I was wondering which settings should I change to run it on the graph level predictions. Is there an example for that? And, is it possible to get the feature importances and the important subgraphs? I didn't see any outputs in the explain functions.

    Thanks in advance!

    xgraph 
    opened by paulamartingonzalez 8
  • Examples need to be updated

    Examples need to be updated

    Hi:

    Thank you for sharing this very useful package. I noticed that many of the examples have not been updated to the new API's. It is not that important since we could still follow the examples after minor modifications, with the help of documentation provided.

    Regards,

    bug xgraph 
    opened by Bancherd-DeLong 7
  • Shapley value calculation mismatch with the SubgraphX paper

    Shapley value calculation mismatch with the SubgraphX paper

    Hello there,

    May I ask a question about the Shapley value calculation, especially the following line of code set_exclude_mask = np.ones(num_nodes)?

    https://github.com/divelab/DIG/blob/1c3dd70d5ae9887c61d7c6b37f31c6433cfe0c07/dig/xgraph/method/shapley.py#L122-L125

    From the implementation above, seems like the mask is initialized as including all the nodes in the graph. Then all the selected nodes in the node_exclude_subset are included, and other nodes in the local_region are not. However, doesn't this includes all the nodes outside the local region as well?

    Based on this description from the paper,

    Screen Shot 2021-11-03 at 9 40 20 PM

    I feel like the line 122 above should be changed to set_exclude_mask = np.zeros(num_nodes) ? Or maybe I am missing something here? I appreciate your help.

    xgraph 
    opened by ShichangZh 7
  • Problems while running the threedgraph.ipynb - AttributeError

    Problems while running the threedgraph.ipynb - AttributeError

    I installed DIG and then cloned the repo locally, I tried to run the three3graph.ipynb tutorial as is, but it threw an error on line 4, which reads as follows model = SphereNet(energy_and_force=False, cutoff=5.0, num_layers=4, hidden_channels=128, out_channels=1, int_emb_size=64, basis_emb_size_dist=8, basis_emb_size_angle=8, basis_emb_size_torsion=8, out_emb_channels=256, num_spherical=3, num_radial=6, envelope_exponent=5, num_before_skip=1, num_after_skip=2, num_output_layers=3, use_node_features=True ) loss_func = torch.nn.L1Loss() evaluation = ThreeDEvaluator()

    the error I get is:


    AttributeError Traceback (most recent call last) in 4 num_spherical=3, num_radial=6, envelope_exponent=5, 5 num_before_skip=1, num_after_skip=2, num_output_layers=3, ----> 6 use_node_features=True 7 ) 8 loss_func = torch.nn.L1Loss()

    ~/.local/lib/python3.6/site-packages/dig/threedgraph/method/spherenet/spherenet.py in init(self, energy_and_force, cutoff, num_layers, hidden_channels, out_channels, int_emb_size, basis_emb_size_dist, basis_emb_size_angle, basis_emb_size_torsion, out_emb_channels, num_spherical, num_radial, envelope_exponent, num_before_skip, num_after_skip, num_output_layers, act, output_init, use_node_features) 263 self.init_v = update_v(hidden_channels, out_emb_channels, out_channels, num_output_layers, act, output_init) 264 self.init_u = update_u() --> 265 self.emb = emb(num_spherical, num_radial, self.cutoff, envelope_exponent) 266 267 self.update_vs = torch.nn.ModuleList([

    ~/.local/lib/python3.6/site-packages/dig/threedgraph/method/spherenet/spherenet.py in init(self, num_spherical, num_radial, cutoff, envelope_exponent) 22 super(emb, self).init() 23 self.dist_emb = dist_emb(num_radial, cutoff, envelope_exponent) ---> 24 self.angle_emb = angle_emb(num_spherical, num_radial, cutoff, envelope_exponent) 25 self.torsion_emb = torsion_emb(num_spherical, num_radial, cutoff, envelope_exponent) 26 self.reset_parameters()

    ~/.local/lib/python3.6/site-packages/dig/threedgraph/method/spherenet/features.py in init(self, num_spherical, num_radial, cutoff, envelope_exponent) 196 # self.envelope = Envelope(envelope_exponent) 197 --> 198 bessel_forms = bessel_basis(num_spherical, num_radial) 199 sph_harm_forms = real_sph_harm(num_spherical) 200 self.sph_funcs = []

    ~/.local/lib/python3.6/site-packages/dig/threedgraph/method/spherenet/features.py in bessel_basis(n, k) 56 normalizer += [normalizer_tmp] 57 ---> 58 f = spherical_bessel_formulas(n) 59 x = sym.Symbol('x') 60 bess_basis = []

    ~/.local/lib/python3.6/site-packages/dig/threedgraph/method/spherenet/features.py in spherical_bessel_formulas(n) 35 36 def spherical_bessel_formulas(n): ---> 37 x = sym.Symbol('x') 38 39 f = [sym.sin(x) / x]

    AttributeError: 'NoneType' object has no attribute 'symbols'

    Now I did try a solution which was changing the sym.symbols('x') to sym.Symbol('x'), which is the correct usage according to the SymPy page. However this doesn't solve the problem and gives the exact same error on the same line.

    I'm running on a linux pod using docker and kubernetes, other notebooks from the DIG tutorials have worked.

    Pytorch 1.8.0 Python 3.6 PyG 2.0.1 #91-Ubuntu SMP 5.4.0-81-generic

    3dgraph 
    opened by smoes-prime 7
  • Explanation for the Trained Models

    Explanation for the Trained Models

    Hi, Thank you for sharing this very useful package. Are there any available explanations on how the models used for the Expandability (x-graphs) portion are trained? I mean the output shape or objective. I am trying to check If I can use all the explainable models on a single dataset like Tox-21. Please let me know if there are any available resources. Thanks.

    opened by mahimanzum 6
  • Errors in running the bash files in SubgraphX in the main branch

    Errors in running the bash files in SubgraphX in the main branch

    Describe the bug

    I followed the instructions in Readme in SubgraphX, created the env and installed the requirements. However I still cannot reproduce the results. When I ran the script files, I still got error and didn't know why.

    $ cd DIG/xgraph/SubgraphX
    $ source ./scripts.sh
    /home/liyang/anaconda3/lib/python3.7/site-packages/numba/decorators.py:146: RuntimeWarning: Caching is not available when the 'parallel' target is in use. Caching is now being disabled to allow execution to continue.
      warnings.warn(msg, RuntimeWarning)
    Traceback (most recent call last):
      File "/home/liyang/anaconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
        "__main__", mod_spec)
      File "/home/liyang/anaconda3/lib/python3.7/runpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "/home/liyang/Documents/csprogram/DIG-main/dig/xgraph/SubgraphX/forgraph/subgraphx.py", line 6, in <module>
        from forgraph.mcts import MCTS, reward_func
      File "/home/liyang/Documents/csprogram/DIG-main/dig/xgraph/SubgraphX/forgraph/mcts.py", line 4, in <module>
        from Configures import mcts_args
      File "/home/liyang/Documents/csprogram/DIG-main/dig/xgraph/SubgraphX/Configures.py", line 3, in <module>
        from tap import Tap
      File "/home/liyang/anaconda3/lib/python3.7/site-packages/tap.py", line 6, in <module>
        from mc_bin_client import mc_bin_client, memcacheConstants as Constants
      File "/home/liyang/anaconda3/lib/python3.7/site-packages/mc_bin_client/mc_bin_client.py", line 278
        except MemcachedError, e:
                             ^
    SyntaxError: invalid syntax
    

    The same error also occurred when I ran another bash file.

    $ cd DIG/xgraph/SubgraphX
    $ source ./models/train_gnns.sh 
    /home/liyang/anaconda3/lib/python3.7/site-packages/numba/decorators.py:146: RuntimeWarning: Caching is not available when the 'parallel' target is in use. Caching is now being disabled to allow execution to continue.
      warnings.warn(msg, RuntimeWarning)
    Traceback (most recent call last):
      File "/home/liyang/anaconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
        "__main__", mod_spec)
      File "/home/liyang/anaconda3/lib/python3.7/runpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "/home/liyang/Documents/csprogram/DIG-main/dig/xgraph/SubgraphX/models/train_gnns.py", line 9, in <module>
        from Configures import data_args, train_args, model_args
      File "/home/liyang/Documents/csprogram/DIG-main/dig/xgraph/SubgraphX/Configures.py", line 3, in <module>
        from tap import Tap
      File "/home/liyang/anaconda3/lib/python3.7/site-packages/tap.py", line 6, in <module>
        from mc_bin_client import mc_bin_client, memcacheConstants as Constants
      File "/home/liyang/anaconda3/lib/python3.7/site-packages/mc_bin_client/mc_bin_client.py", line 278
        except MemcachedError, e:
                             ^
    SyntaxError: invalid syntax
    

    Configuration

    OS: Release Linux Mint 20.2 Uma 64-bit python version: 3.7.0 torch and cuda version: 1.9.0+cu102

    xgraph 
    opened by YanghepuLI 6
  • AttributeError: 'GCNConv' object has no attribute '__explain__'

    AttributeError: 'GCNConv' object has no attribute '__explain__'

    Hi,

    There is an error when I tried to train a new model for PGExplainer: $ /bin/bash ./models/train_gnns.sh:

    AttributeError: 'GCNConv' object has no attribute '__explain__'

    The error is from here https://github.com/divelab/DIG/blob/83eefb10fa0d5e690dfabd352ef197bdf249d229/dig/xgraph/PGExplainer/models/GCN.py#L56

    Could you please take a look at this issue? Thanks.

    opened by cxw-droid 5
  • subgraphx example ipynb code was not worked

    subgraphx example ipynb code was not worked

    Hello, my name is kyeongrok. I am student of south korea.

    Now, I am trying to work the examples code of subgraph x.(subgraphx.ipynb) But it was not working. In your code, the dimension of bashpaes graph's feature is just one. So to use my model(it is same with gcnl3 in models.py) and data(it is same with bashapes in dig dataset, but has 10 dimension feature), i just deleted the 'dataset.data.x = dataset.data.x[:, :1]' line in second block And i modified the gcn3l model a little to work in 10 dimension input.

    However, subgraphx spend a lot of time(It seems not to work) I would like to ask if there is a possibility that the subgraphx may not work as the input feature of the data increases.

    Thank you for reading.:)

    opened by Park-kyeong-rok 5
  • Data inconsistency error.

    Data inconsistency error.

    After downloading the data through: dig.xgraph.dataset.SynGraphDataset('./datasets', 'BA_shapes') When I test PGExplainer, splitted_dataset.slices['mask'] = splitted_dataset.slices['train_mask']

    the error occurs:

    splitted_dataset.slices['mask'] = splitted_dataset.slices['train_mask'] TypeError: 'NoneType' object is not subscriptable

    May I have any suggestions? THX

    xgraph 
    opened by zacharykzhao 5
  • GraphCL graph-level task with GIN and GCN

    GraphCL graph-level task with GIN and GCN

    When trying to run GraphCL with GIN or GCN rather than ResGCN an error is produced.

    For example

    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
    print(device)
    feat_dim = dataset[0].x.shape[1]
    embed_dim = 128
    epochs = 100
    encoder = encoders.Encoder(feat_dim, embed_dim, n_layers=3, gnn='gin', node_level=False, graph_level=True)
    encoder.double()
    encoder.to(device)
    graphcl = GraphCL(embed_dim, aug_1='dropN', aug_2='dropN', device=0)
    evaluator = GraphSemisupervised(test_dataset, dataset, batch_size=4096)
    evaluator.evaluate(learning_model=graphcl, encoder=encoder)
    

    RuntimeError: mat1 and mat2 shapes cannot be multiplied (4096x384 and 128x128)

    The GIN and GCN produce embed dim * n_layer sized output. But the projection head appears to expect embed dim sized input. Is it possible to use the GIN and GCN fro the graph-level tasks?

    opened by davidfstein 0
  • Training is slow and not using GPU

    Training is slow and not using GPU

    I'm attempting to run the GraphCL example with a custom dataset (n~=150,000). I am passing device='cuda' and my GPU is available, but the GPU utilization is at 0% and the evaluate training loop is expected to run for ~12 hours. Is there a way to increase GPU utilization and do you expect the implementation to scale to larger datasets?

    opened by davidfstein 0
  • ValueError: too many values to unpack (expected 2)

    ValueError: too many values to unpack (expected 2)

    Hi DIG team, Thanks a lot for this amazing work. As a beginner, I tried the ipynb file "DIG-tutorials-KDD2022/sslgraph_code_tutorial.ipynb", and found the error as the title stated. The file was ran on AutoDL platform, with dependencies as stated in DIG documentation. Could you pls suggest a way to correct it? Thank you~

    opened by SaraiQX 0
  • TypeError: train() missing 3 required positional arguments: 'data_loader', 'optimizer', and 'epochs'

    TypeError: train() missing 3 required positional arguments: 'data_loader', 'optimizer', and 'epochs'

    Test subgraphx example: explainer = SubgraphX(grace, num_classes=4, device=device, explain_graph=False, reward_method='nc_mc_l_shapley')

    then get this error

    TypeError Traceback (most recent call last) Input In [19], in <cell line: 1>() ----> 1 explainer = SubgraphX(grace, num_classes=4, device=device, 2 explain_graph=False, reward_method='nc_mc_l_shapley')

    File ~\DIG\dig\xgraph\method\subgraphx.py:636, in SubgraphX.init(self, model, num_classes, device, num_hops, verbose, explain_graph, rollout, min_atoms, c_puct, expand_atoms, high2low, local_radius, sample_num, reward_method, subgraph_building_method, save_dir, filename, vis) 629 def init(self, model, num_classes: int, device, num_hops: Optional[int] = None, verbose: bool = False, 630 explain_graph: bool = True, rollout: int = 20, min_atoms: int = 5, c_puct: float = 10.0, 631 expand_atoms=14, high2low=False, local_radius=4, sample_num=100, reward_method='mc_l_shapley', 632 subgraph_building_method='zero_filling', save_dir: Optional[str] = None, 633 filename: str = 'example', vis: bool = True): 635 self.model = model --> 636 self.model.eval() 637 self.device = device 638 self.model.to(self.device)

    File ~\anaconda3\envs\tf\lib\site-packages\torch\nn\modules\module.py:1926, in Module.eval(self) 1910 def eval(self: T) -> T: 1911 r"""Sets the module in evaluation mode. 1912 1913 This has any effect only on certain modules. See documentations of (...) 1924 Module: self 1925 """ -> 1926 return self.train(False)

    TypeError: train() missing 3 required positional arguments: 'data_loader', 'optimizer', and 'epochs'

    opened by yhliu2022 1
  • xgraph/pgexplainer

    xgraph/pgexplainer

    Hello, when I try to run examples/xgraph/pgexplainer.ipynb, there is an error:

    splitted_dataset.slices['mask'] = splitted_dataset.slices['train_mask'] TypeError: 'NoneType' object is not subscriptable

    I am using torch-geometric 2.1.0. Could any one please take a look? Thanks

    opened by cxw-droid 1
Releases(1.0.0)
  • 1.0.0(Jul 14, 2022)

    Update DIG based on PyG2.0.0

    • Given that PyG2.0.0 has significant updates compared to PyG1.x.x, we have upgraded our DIG based on PyG2.0.0 for easier use.
    • We are going to provide a hands-on tutorial at KDD 2022 about graph deep learning research with DIG. The materials will be included in this folder.
    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Jun 27, 2022)

  • 0.1.2(Oct 13, 2021)

    Paper accepted

    • The paper for DIG has been accepted by JMLR.

    Example and benchmark organization

    • Reorganize the example implementations in examples.
    • Add a benchmark directory for benchmark implementations. Currently, we provide the benchmark implementations for xgraph.
    Source code(tar.gz)
    Source code(zip)
  • 0.1.1(Aug 12, 2021)

    Add test

    • Add more thorough test cases.

    Code Improvement

    • Update the optimal hyperparameter set for SphereNet in threedgraph. [#39](thanks to @kexinhuang12345 and @chao1224)
    • Fix the Fidelity sign (to Fidelity-) for the fidelity_inv description in xgraph. [#43](thanks to @joaquincabezas)

    Documentation Improvement

    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Jul 27, 2021)

    Installation

    • Replace RDKit dependency with RDKit-pypi, leading to a simpler installation process.

    Tutorials

    Code Quality

    • Run a code analysis tool, and improve our code quality accordingly.

    Bugfixes

    • Fix a "local variable referenced before assignment" issue in xgraph. [#27](thanks to @gui-li)
    • Disabled the pin_memory flag in xgraph. [#28](thanks to @gui-li)
    • Fix a "torch.fft error" in ggraph. [#34](thanks to @GRAPH-0)
    Source code(tar.gz)
    Source code(zip)
  • 0.0.4(May 20, 2021)

  • 0.0.3(May 10, 2021)

  • 0.0.2(May 6, 2021)

  • 0.0.1(May 4, 2021)

    Initial release as a python package

    DIG includes unified implementations of data interfaces, common algorithms, and evaluation metrics for several advanced tasks.

    Currently, we consider the following research directions.

    • Graph Generation
    • Self-supervised Learning on Graphs
    • Explainability of Graph Neural Networks
    • Deep Learning on 3D Graphs
    Source code(tar.gz)
    Source code(zip)
Owner
DIVE Lab, Texas A&M University
DIVE Lab, Texas A&M University
Implementation of Axial attention - attending to multi-dimensional data efficiently

Axial Attention Implementation of Axial attention in Pytorch. A simple but powerful technique to attend to multi-dimensional data efficiently. It has

Phil Wang 250 Dec 25, 2022
Bonnet: An Open-Source Training and Deployment Framework for Semantic Segmentation in Robotics.

Bonnet: An Open-Source Training and Deployment Framework for Semantic Segmentation in Robotics. By Andres Milioto @ University of Bonn. (for the new P

Photogrammetry & Robotics Bonn 314 Dec 30, 2022
PSANet: Point-wise Spatial Attention Network for Scene Parsing, ECCV2018.

PSANet: Point-wise Spatial Attention Network for Scene Parsing (in construction) by Hengshuang Zhao*, Yi Zhang*, Shu Liu, Jianping Shi, Chen Change Lo

Hengshuang Zhao 217 Oct 30, 2022
A benchmark dataset for emulating atmospheric radiative transfer in weather and climate models with machine learning (NeurIPS 2021 Datasets and Benchmarks Track)

ClimART - A Benchmark Dataset for Emulating Atmospheric Radiative Transfer in Weather and Climate Models Official PyTorch Implementation Using deep le

21 Dec 31, 2022
Code release for NeX: Real-time View Synthesis with Neural Basis Expansion

NeX: Real-time View Synthesis with Neural Basis Expansion Project Page | Video | Paper | COLAB | Shiny Dataset We present NeX, a new approach to novel

536 Dec 20, 2022
Tree-based Search Graph for Approximate Nearest Neighbor Search

TBSG: Tree-based Search Graph for Approximate Nearest Neighbor Search. TBSG is a graph-based algorithm for ANNS based on Cover Tree, which is also an

Fanxbin 2 Dec 27, 2022
Pull sensitive data from users on windows including discord tokens and chrome data.

⭐ For a 🍪 Pegasus Pull sensitive data from users on windows including discord tokens and chrome data. Features 🟩 Discord tokens 🟩 Geolocation data

Addi 44 Dec 31, 2022
Official repository of OFA. Paper: Unifying Architectures, Tasks, and Modalities Through a Simple Sequence-to-Sequence Learning Framework

Paper | Blog OFA is a unified multimodal pretrained model that unifies modalities (i.e., cross-modality, vision, language) and tasks (e.g., image gene

OFA Sys 1.4k Jan 08, 2023
An SMPC companion library for Syft

SyMPC A library that extends PySyft with SMPC support SyMPC /ˈsɪmpəθi/ is a library which extends PySyft ≥0.3 with SMPC support. It allows computing o

Arturo Marquez Flores 0 Oct 13, 2021
Totally Versatile Miscellanea for Pytorch

Totally Versatile Miscellania for PyTorch Thomas Viehmann [email protected] Thi

Thomas Viehmann 428 Dec 28, 2022
Semi-supervised Semantic Segmentation with Directional Context-aware Consistency (CVPR 2021)

Semi-supervised Semantic Segmentation with Directional Context-aware Consistency (CAC) Xin Lai*, Zhuotao Tian*, Li Jiang, Shu Liu, Hengshuang Zhao, Li

Jia Research Lab 137 Dec 14, 2022
Code for STFT Transformer used in BirdCLEF 2021 competition.

STFT_Transformer Code for STFT Transformer used in BirdCLEF 2021 competition. The STFT Transformer is a new way to use Transformers similar to Vision

Jean-François Puget 69 Sep 29, 2022
Convert Table data to approximate values with GUI

Table_Editor Convert Table data to approximate values with GUIs... usage - Import methods for extension Tables. Imported method supposed to have only

CLJ 1 Jan 10, 2022
Python with OpenCV - MediaPip Framework Hand Detection

Python HandDetection Python with OpenCV - MediaPip Framework Hand Detection Explore the docs » Contact Me About The Project It is a Computer vision pa

2 Jan 07, 2022
Sparse Physics-based and Interpretable Neural Networks

Sparse Physics-based and Interpretable Neural Networks for PDEs This repository contains the code and manuscript for research done on Sparse Physics-b

28 Jan 03, 2023
Neural network-based build time estimation for additive manufacturing

Neural network-based build time estimation for additive manufacturing Oh, Y., Sharp, M., Sprock, T., & Kwon, S. (2021). Neural network-based build tim

Yosep 1 Nov 15, 2021
🧑‍🔬 verify your TEAL program by experiment and observation

Graviton - Testing TEAL with Dry Runs Tutorial Local Installation The following instructions assume that you have make available in your local environ

Algorand 18 Jan 03, 2023
Pytorch code for "State-only Imitation with Transition Dynamics Mismatch" (ICLR 2020)

This repo contains code for our paper State-only Imitation with Transition Dynamics Mismatch published at ICLR 2020. The code heavily uses the RL mach

20 Sep 08, 2022
Adaptable tools to make reinforcement learning and evolutionary computation algorithms.

Pearl The Parallel Evolutionary and Reinforcement Learning Library (Pearl) is a pytorch based package with the goal of being excellent for rapid proto

38 Jan 01, 2023
(JMLR' 19) A Python Toolbox for Scalable Outlier Detection (Anomaly Detection)

Python Outlier Detection (PyOD) Deployment & Documentation & Stats & License PyOD is a comprehensive and scalable Python toolkit for detecting outlyin

Yue Zhao 6.6k Jan 05, 2023