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
A clean and scalable template to kickstart your deep learning project 🚀 ⚡ 🔥

Lightning-Hydra-Template A clean and scalable template to kickstart your deep learning project 🚀 ⚡ 🔥 Click on Use this template to initialize new re

Hyunsoo Cho 1 Dec 20, 2021
Liver segmentation using MONAI and pytorch

Machine Learning use case in the field of Healthcare. In this project MONAI and pytorch frameworks are used for 3D Liver segmentation.

Abhishek Gajbhiye 2 May 30, 2022
Deep learning algorithms for muon momentum estimation in the CMS Trigger System

Deep learning algorithms for muon momentum estimation in the CMS Trigger System The Compact Muon Solenoid (CMS) is a general-purpose detector at the L

anuragB 2 Oct 06, 2021
Implementation of Vaswani, Ashish, et al. "Attention is all you need."

Attention Is All You Need Paper Implementation This is my from-scratch implementation of the original transformer architecture from the following pape

Brando Koch 195 Dec 30, 2022
Catch-all collection of generative art made using processing

Generative art with Processing.py Some art I have created for fun. Dependencies Processing for Python, see how to download/use here Packages contained

2 Mar 12, 2022
Implementation of TabTransformer, attention network for tabular data, in Pytorch

Tab Transformer Implementation of Tab Transformer, attention network for tabular data, in Pytorch. This simple architecture came within a hair's bread

Phil Wang 420 Jan 05, 2023
Curating a dataset for bioimage transfer learning

CytoImageNet A large-scale pretraining dataset for bioimage transfer learning. Motivation In past few decades, the increase in speed of data collectio

Stanley Z. Hua 9 Jun 20, 2022
A Runtime method overload decorator which should behave like a compiled language

strongtyping-pyoverload A Runtime method overload decorator which should behave like a compiled language there is a override decorator from typing whi

20 Oct 31, 2022
Official Pytorch Implementation of: "Semantic Diversity Learning for Zero-Shot Multi-label Classification"(2021) paper

Semantic Diversity Learning for Zero-Shot Multi-label Classification Paper Official PyTorch Implementation Avi Ben-Cohen, Nadav Zamir, Emanuel Ben Bar

28 Aug 29, 2022
CHERRY is a python library for predicting the interactions between viral and prokaryotic genomes

CHERRY is a python library for predicting the interactions between viral and prokaryotic genomes. CHERRY is based on a deep learning model, which consists of a graph convolutional encoder and a link

Kenneth Shang 12 Dec 15, 2022
OpenDelta - An Open-Source Framework for Paramter Efficient Tuning.

OpenDelta is a toolkit for parameter efficient methods (we dub it as delta tuning), by which users could flexibly assign (or add) a small amount parameters to update while keeping the most paramters

THUNLP 386 Dec 26, 2022
Learning Lightweight Low-Light Enhancement Network using Pseudo Well-Exposed Images

Learning Lightweight Low-Light Enhancement Network using Pseudo Well-Exposed Images This repository contains the implementation of the following paper

Seonggwan Ko 9 Jul 30, 2022
A pytorch-based real-time segmentation model for autonomous driving

CFPNet: Channel-Wise Feature Pyramid for Real-Time Semantic Segmentation This project contains the Pytorch implementation for the proposed CFPNet: pap

342 Dec 22, 2022
Out-of-distribution detection using the pNML regret. NeurIPS2021

OOD Detection Load conda environment conda env create -f environment.yml or install requirements: while read requirement; do conda install --yes $requ

Koby Bibas 23 Dec 02, 2022
Empirical Study of Transformers for Source Code & A Simple Approach for Handling Out-of-Vocabulary Identifiers in Deep Learning for Source Code

Transformers for variable misuse, function naming and code completion tasks The official PyTorch implementation of: Empirical Study of Transformers fo

Bayesian Methods Research Group 56 Nov 15, 2022
Quasi-Dense Similarity Learning for Multiple Object Tracking, CVPR 2021 (Oral)

Quasi-Dense Tracking This is the offical implementation of paper Quasi-Dense Similarity Learning for Multiple Object Tracking. We present a trailer th

ETH VIS Research Group 327 Dec 27, 2022
CRF-RNN for Semantic Image Segmentation - PyTorch version

This repository contains the official PyTorch implementation of the "CRF-RNN" semantic image segmentation method, published in the ICCV 2015

Sadeep Jayasumana 170 Dec 13, 2022
Advanced Deep Learning with TensorFlow 2 and Keras (Updated for 2nd Edition)

Advanced Deep Learning with TensorFlow 2 and Keras (Updated for 2nd Edition)

Packt 1.5k Jan 03, 2023
Face Library is an open source package for accurate and real-time face detection and recognition

Face Library Face Library is an open source package for accurate and real-time face detection and recognition. The package is built over OpenCV and us

52 Nov 09, 2022
🥈78th place in Riiid Answer Correctness Prediction competition

Riiid Answer Correctness Prediction Introduction This repository is the code that placed 78th in Riiid Answer Correctness Prediction competition. Requ

Jungwoo Park 10 Jul 14, 2022