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
This repository is based on Ultralytics/yolov5, with adjustments to enable rotate prediction boxes.

Rotate-Yolov5 This repository is based on Ultralytics/yolov5, with adjustments to enable rotate prediction boxes. Section I. Description The codes are

xinzelee 90 Dec 13, 2022
Working demo of the Multi-class and Anomaly classification model using the CLIP feature space

👁️ Hindsight AI: Crime Classification With Clip About For Educational Purposes Only This is a recursive neural net trained to classify specific crime

Miles Tweed 2 Jun 05, 2022
Official implementation of "Refiner: Refining Self-attention for Vision Transformers".

RefinerViT This repo is the official implementation of "Refiner: Refining Self-attention for Vision Transformers". The repo is build on top of timm an

101 Dec 29, 2022
Official PyTorch code for Hierarchical Conditional Flow: A Unified Framework for Image Super-Resolution and Image Rescaling (HCFlow, ICCV2021)

Hierarchical Conditional Flow: A Unified Framework for Image Super-Resolution and Image Rescaling (HCFlow, ICCV2021) This repository is the official P

Jingyun Liang 159 Dec 30, 2022
In this tutorial, you will perform inference across 10 well-known pre-trained object detectors and fine-tune on a custom dataset. Design and train your own object detector.

Object Detection Object detection is a computer vision task for locating instances of predefined objects in images or videos. In this tutorial, you wi

Ibrahim Sobh 62 Dec 25, 2022
A PyTorch implementation of the paper "Semantic Image Synthesis via Adversarial Learning" in ICCV 2017

Semantic Image Synthesis via Adversarial Learning This is a PyTorch implementation of the paper Semantic Image Synthesis via Adversarial Learning. Req

Seonghyeon Nam 146 Nov 25, 2022
Put blind watermark into a text with python

text_blind_watermark Put blind watermark into a text. Can be used in Wechat dingding ... How to Use install pip install text_blind_watermark Alice Pu

郭飞 164 Dec 30, 2022
AfriBERTa: Exploring the Viability of Pretrained Multilingual Language Models for Low-resourced Languages

AfriBERTa: Exploring the Viability of Pretrained Multilingual Language Models for Low-resourced Languages This repository contains the code for the pa

Kelechi 40 Nov 24, 2022
Repository of continual learning papers

Continual learning paper repository This repository contains an incomplete (but dynamically updated) list of papers exploring continual learning in ma

29 Jan 05, 2023
FasterAI: A library to make smaller and faster models with FastAI.

Fasterai fasterai is a library created to make neural network smaller and faster. It essentially relies on common compression techniques for networks

Nathan Hubens 193 Jan 01, 2023
The mini-AlphaStar (mini-AS, or mAS) - mini-scale version (non-official) of the AlphaStar (AS)

A mini-scale reproduction code of the AlphaStar program. Note: the original AlphaStar is the AI proposed by DeepMind to play StarCraft II.

Ruo-Ze Liu 216 Jan 04, 2023
Adversarial Robustness Toolbox (ART) - Python Library for Machine Learning Security - Evasion, Poisoning, Extraction, Inference - Red and Blue Teams

Adversarial Robustness Toolbox (ART) is a Python library for Machine Learning Security. ART provides tools that enable developers and researchers to defend and evaluate Machine Learning models and ap

3.4k Jan 04, 2023
PaddlePaddle GAN library, including lots of interesting applications like First-Order motion transfer, wav2lip, picture repair, image editing, photo2cartoon, image style transfer, and so on.

English | 简体中文 PaddleGAN PaddleGAN provides developers with high-performance implementation of classic and SOTA Generative Adversarial Networks, and s

6.4k Jan 09, 2023
thundernet ncnn

MMDetection_Lite 基于mmdetection 实现一些轻量级检测模型,安装方式和mmdeteciton相同 voc0712 voc 0712训练 voc2007测试 coco预训练 thundernet_voc_shufflenetv2_1.5 input shape mAP 320

DayBreak 39 Dec 05, 2022
Implementation of GGB color space

GGB Color Space This package is implementation of GGB color space from Development of a Robust Algorithm for Detection of Nuclei and Classification of

Resha Dwika Hefni Al-Fahsi 2 Oct 06, 2021
Compact Bidirectional Transformer for Image Captioning

Compact Bidirectional Transformer for Image Captioning Requirements Python 3.8 Pytorch 1.6 lmdb h5py tensorboardX Prepare Data Please use git clone --

YE Zhou 19 Dec 12, 2022
fklearn: Functional Machine Learning

fklearn: Functional Machine Learning fklearn uses functional programming principles to make it easier to solve real problems with Machine Learning. Th

nubank 1.4k Dec 07, 2022
Cours d'Algorithmique Appliquée avec Python pour BTS SIO SISR

Course: Introduction to Applied Algorithms with Python (in French) This is the source code of the website for the Applied Algorithms with Python cours

Loic Yvonnet 0 Jan 27, 2022
Using deep learning to predict gene structures of the coding genes in DNA sequences of Arabidopsis thaliana

DeepGeneAnnotator: A tool to annotate the gene in the genome The master thesis of the "Using deep learning to predict gene structures of the coding ge

Ching-Tien Wang 3 Sep 09, 2022
This is the official repository of the paper Stocastic bandits with groups of similar arms (NeurIPS 2021). It contains the code that was used to compute the figures and experiments of the paper.

Experiments How to reproduce experimental results of Stochastic bandits with groups of similar arms submitted paper ? Section 5 of the paper To reprod

Fabien 0 Oct 25, 2021