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
Neural Radiance Fields Using PyTorch

This project is a PyTorch implementation of Neural Radiance Fields (NeRF) for reproduction of results whilst running at a faster speed.

Vedant Ghodke 1 Feb 11, 2022
DeepFill v1/v2 with Contextual Attention and Gated Convolution, CVPR 2018, and ICCV 2019 Oral

Generative Image Inpainting An open source framework for generative image inpainting task, with the support of Contextual Attention (CVPR 2018) and Ga

2.9k Dec 16, 2022
Official respository for "Modeling Defocus-Disparity in Dual-Pixel Sensors", ICCP 2020

Official respository for "Modeling Defocus-Disparity in Dual-Pixel Sensors", ICCP 2020 BibTeX @INPROCEEDINGS{punnappurath2020modeling, author={Abhi

Abhijith Punnappurath 22 Oct 01, 2022
MPI-IS Mesh Processing Library

Perceiving Systems Mesh Package This package contains core functions for manipulating meshes and visualizing them. It requires Python 3.5+ and is supp

Max Planck Institute for Intelligent Systems 494 Jan 06, 2023
Implementation of Pix2Seq in PyTorch

pix2seq-pytorch Implementation of Pix2Seq paper Different from the paper image input size 1280 bin size 1280 LambdaLR scheduler used instead of Linear

Tony Shin 9 Dec 15, 2022
Code I use to automatically update my videos' metadata on YouTube

mCodingYouTube This repository contains the code I use to automatically update my videos' metadata on YouTube, including: titles, descriptions, tags,

James Murphy 19 Oct 07, 2022
HAR-stacked-residual-bidir-LSTMs - Deep stacked residual bidirectional LSTMs for HAR

HAR-stacked-residual-bidir-LSTM The project is based on this repository which is presented as a tutorial. It consists of Human Activity Recognition (H

Guillaume Chevalier 287 Dec 27, 2022
The official repository for "Score Transformer: Generating Musical Scores from Note-level Representation" (MMAsia '21)

Score Transformer This is the official repository for "Score Transformer": Score Transformer: Generating Musical Scores from Note-level Representation

22 Dec 22, 2022
Решения, подсказки, тесты и утилиты для тренировки по алгоритмам от Яндекса.

Решения и подсказки к тренировке по алгоритмам от Яндекса Что есть внутри Решения с подсказками и комментариями; рекомендую сначала смотреть md файл п

Yankovsky Andrey 50 Dec 26, 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
A Tensorflow implementation of CapsNet based on Geoffrey Hinton's paper Dynamic Routing Between Capsules

CapsNet-Tensorflow A Tensorflow implementation of CapsNet based on Geoffrey Hinton's paper Dynamic Routing Between Capsules Notes: The current version

Huadong Liao 3.8k Dec 29, 2022
a Lightweight library for sequential learning agents, including reinforcement learning

SaLinA: SaLinA - A Flexible and Simple Library for Learning Sequential Agents (including Reinforcement Learning) TL;DR salina is a lightweight library

Facebook Research 405 Dec 17, 2022
Learn the Deep Learning for Computer Vision in three steps: theory from base to SotA, code in PyTorch, and space-repetition with Anki

DeepCourse: Deep Learning for Computer Vision arthurdouillard.com/deepcourse/ This is a course I'm giving to the French engineering school EPITA each

Arthur Douillard 113 Nov 29, 2022
Source code for paper "Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling", AAAI 2021

ATLOP Code for AAAI 2021 paper Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling. If you make use of this co

Wenxuan Zhou 146 Nov 29, 2022
Use evolutionary algorithms instead of gridsearch in scikit-learn

sklearn-deap Use evolutionary algorithms instead of gridsearch in scikit-learn. This allows you to reduce the time required to find the best parameter

rsteca 709 Jan 03, 2023
COD-Rank-Localize-and-Segment (CVPR2021)

COD-Rank-Localize-and-Segment (CVPR2021) Simultaneously Localize, Segment and Rank the Camouflaged Objects Full camouflage fixation training dataset i

JingZhang 52 Dec 20, 2022
A highly modular PyTorch framework with a focus on Neural Architecture Search (NAS).

UniNAS A highly modular PyTorch framework with a focus on Neural Architecture Search (NAS). under development (which happens mostly on our internal Gi

Cognitive Systems Research Group 19 Nov 23, 2022
Embeds a story into a music playlist by sorting the playlist so that the order of the music follows a narrative arc.

playlist-story-builder This project attempts to embed a story into a music playlist by sorting the playlist so that the order of the music follows a n

Dylan R. Ashley 0 Oct 28, 2021
[ICLR 2021] "CPT: Efficient Deep Neural Network Training via Cyclic Precision" by Yonggan Fu, Han Guo, Meng Li, Xin Yang, Yining Ding, Vikas Chandra, Yingyan Lin

CPT: Efficient Deep Neural Network Training via Cyclic Precision Yonggan Fu, Han Guo, Meng Li, Xin Yang, Yining Ding, Vikas Chandra, Yingyan Lin Accep

26 Oct 25, 2022
Stitch it in Time: GAN-Based Facial Editing of Real Videos

STIT - Stitch it in Time [Project Page] Stitch it in Time: GAN-Based Facial Edit

1.1k Jan 04, 2023