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
Official implementation of "UCTransNet: Rethinking the Skip Connections in U-Net from a Channel-wise Perspective with Transformer"

[AAAI2022] UCTransNet This repo is the official implementation of "UCTransNet: Rethinking the Skip Connections in U-Net from a Channel-wise Perspectiv

Haonan Wang 199 Jan 03, 2023
PaRT: Parallel Learning for Robust and Transparent AI

PaRT: Parallel Learning for Robust and Transparent AI This repository contains the code for PaRT, an algorithm for training a base network on multiple

Mahsa 0 May 02, 2022
Semi-Supervised Learning for Fine-Grained Classification

Semi-Supervised Learning for Fine-Grained Classification This repo contains the code of: A Realistic Evaluation of Semi-Supervised Learning for Fine-G

25 Nov 08, 2022
Automatic learning-rate scheduler

AutoLRS This is the PyTorch code implementation for the paper AutoLRS: Automatic Learning-Rate Schedule by Bayesian Optimization on the Fly published

Yuchen Jin 33 Nov 18, 2022
Official Code For TDEER: An Efficient Translating Decoding Schema for Joint Extraction of Entities and Relations (EMNLP2021)

TDEER 🦌 🦒 Official Code For TDEER: An Efficient Translating Decoding Schema for Joint Extraction of Entities and Relations (EMNLP2021) Overview TDEE

33 Dec 23, 2022
Semantic Segmentation with SegFormer on Drone Dataset.

SegFormer_Segmentation Semantic Segmentation with SegFormer on Drone Dataset. You can check out the blog on Medium You can also try out the model with

Praneet 8 Oct 20, 2022
Implementation for the "Surface Reconstruction from 3D Line Segments" paper.

Surface Reconstruction from 3D Line Segments Surface reconstruction from 3d line segments. Langlois, P. A., Boulch, A., & Marlet, R. In 2019 Internati

85 Jan 04, 2023
Official PyTorch implementation for paper Context Matters: Graph-based Self-supervised Representation Learning for Medical Images

Context Matters: Graph-based Self-supervised Representation Learning for Medical Images Official PyTorch implementation for paper Context Matters: Gra

49 Nov 23, 2022
Leibniz is a python package which provide facilities to express learnable partial differential equations with PyTorch

Leibniz is a python package which provide facilities to express learnable partial differential equations with PyTorch

Beijing ColorfulClouds Technology Co.,Ltd. 16 Aug 07, 2022
YOLOv5 + ROS2 object detection package

YOLOv5-ROS YOLOv5 + ROS2 object detection package This program changes the input of detect.py (ultralytics/yolov5) to sensor_msgs/Image of ROS2. Requi

Ar-Ray 23 Dec 19, 2022
Research shows Google collects 20x more data from Android than Apple collects from iOS. Block this non-consensual telemetry using pihole blocklists.

pihole-antitelemetry Research shows Google collects 20x more data from Android than Apple collects from iOS. Block both using these pihole lists. Proj

Adrian Edwards 290 Jan 09, 2023
Official Pytorch implementation of RePOSE (ICCV2021)

RePOSE: Iterative Rendering and Refinement for 6D Object Detection (ICCV2021) [Link] Abstract We present RePOSE, a fast iterative refinement method fo

Shun Iwase 68 Nov 15, 2022
Establishing Strong Baselines for TripClick Health Retrieval; ECIR 2022

TripClick Baselines with Improved Training Data Welcome 🙌 to the hub-repo of our paper: Establishing Strong Baselines for TripClick Health Retrieval

Sebastian Hofstätter 3 Nov 03, 2022
Baseline powergrid model for NY

Baseline-powergrid-model-for-NY Table of Contents About The Project Built With Usage License Contact Acknowledgements About The Project As the urgency

Anderson Energy Lab at Cornell 6 Nov 24, 2022
A large-scale benchmark for co-optimizing the design and control of soft robots, as seen in NeurIPS 2021.

Evolution Gym A large-scale benchmark for co-optimizing the design and control of soft robots. As seen in Evolution Gym: A Large-Scale Benchmark for E

121 Dec 14, 2022
Paper Code:A Self-adaptive Weighted Differential Evolution Approach for Large-scale Feature Selection

1. SaWDE.m is the main function 2. DataPartition.m is used to randomly partition the original data into training sets and test sets with a ratio of 7

wangxb 14 Dec 08, 2022
Paper list of log-based anomaly detection

Paper list of log-based anomaly detection

Weibin Meng 411 Dec 05, 2022
Topic Discovery via Latent Space Clustering of Pretrained Language Model Representations

TopClus The source code used for Topic Discovery via Latent Space Clustering of Pretrained Language Model Representations, published in WWW 2022. Requ

Yu Meng 63 Dec 18, 2022
Using some basic methods to show linkages and transformations of robotic arms

roboticArmVisualizer Python GUI application to create custom linkages and adjust joint angles. In the future, I plan to add 2d inverse kinematics solv

Sandesh Banskota 1 Nov 19, 2021
Safe Model-Based Reinforcement Learning using Robust Control Barrier Functions

README Repository containing the code for the paper "Safe Model-Based Reinforcement Learning using Robust Control Barrier Functions". Specifically, an

Yousef Emam 13 Nov 24, 2022