IsoGCN code for ICLR2021

Overview

IsoGCN

The official implementation of IsoGCN, presented in the ICLR2021 paper Isometric Transformation Invariant and Equivariant Graph Convolutional Networks [arXiv].

isogcn

Please cite us as:

@inproceedings{
horie2021isometric,
title={Isometric Transformation Invariant and Equivariant Graph Convolutional Networks},
author={Masanobu Horie and Naoki Morita and Toshiaki Hishinuma and Yu Ihara and Naoto Mitsume},
booktitle={International Conference on Learning Representations},
year={2021},
url={https://openreview.net/forum?id=FX0vR39SJ5q}
}

General notice

If some of the following steps not working, please modify User settings section in the Makefile to fit with your environment.

Installation

You can either locally install locally or use Docker image. However, to generate an anisotropic nonlinear heat equation dataset, we recommend using Docker.

Local install

We are using poetry, thus first install it following the instruction on https://python-poetry.org/docs/ . Then, update the Makefile to PYTHON ?= 'poetry run python3' or explicitly specify the PYTHON environment variable on the execution of the make command.

For GPU environment,

PYTHON='poetry run python3' make poetry
poetry install
PYTHON='poetry run python3' make install_pyg_gpu

For CPU environment,

PYTHON='poetry run python3' make poetry
poetry install
PYTHON='poetry run python3' make install_pyg_cpu

, and set GPU_ID = -1 in the Makefile.

Also, optionally, please install FrontISTR and gmsh to generate an anisotropic nonlinear heat equation dataset (which are installed in the Docker image).

Docker image

Please download the docker image via https://savanna.ritc.jp/~horiem/isogcn_iclr2021/images/isogcn.tar, then place the image in the images directory. After that, plsease make in to login the docker befor perfroming all the following processes.

Differential operator dataset

Data generation

make differential_data

Training IsoGCN

make scalar2grad  # Scalar to gradient task
make scalar2grad  ADJ=5  # Scalar to gradient task with # hops = 5
make scalar2hessian  # Scalar to Hessian task
make grad2laplacian  # Gradient to Laplacian task
make grad2hessian  # Gradient to Hessian task

Training baseline models

make scalar2grad_baseline BASELINE_NAME=gcn  # BASELINE_NAME=[cluster_gcn, gcn, gcnii, gin, sgcn]

Similarly, one can perform baseline model trainings for other tasks.

Anisotropic nonlinear heat equation dataset

Run whole process with small data to check the process (Optional)

It generates a small dataset to simulate the whole process of data generation, preprocessing, training, and inference. This process requires either FrontISTR installed locally or Docker image.

make small_heat_nl_tensor_pipeline

Dataset download

The dataset containing finite element analysis results is generated from the ABC dataset using gmsh for meshing and FrontISTR for analysis.

Please download the dataset you need. (Note: To perform only training, you need only 'preprocessed' data.) The dataset can be downloaded via:

After download finished, please merge the split archives with:

cat train_50.tar.gz.parta* > train.tar.gz

, extract them with tar xvf *.tar.gz, then place them in the corresponding data/heat_nl_tensor/(raw|interim|preprocessed) directory.

Training IsoGCN

make heat_nl_tensor

Training baseline models

make heat_nl_tensor_baseline BASELINE_NAME=gcn  # BASELINE_NAME=[cluster_gcn, gcn, gcnii, gin, sgcn]

IsoGCN core implementation

The core implementation of the IsoGCN layer is separated in the library SiML and can be found here. Also, the code to generate IsoAMs is separated in the library Femio and can be found here.

License

Apache License 2.0.

Owner
horiem
A researcher, an engineer, and a Ph.D. student in machine learning + physical simulation.
horiem
CAMoE + Dual SoftMax Loss (DSL): Improving Video-Text Retrieval by Multi-Stream Corpus Alignment and Dual Softmax Loss

CAMoE + Dual SoftMax Loss (DSL): Improving Video-Text Retrieval by Multi-Stream Corpus Alignment and Dual Softmax Loss This is official implement of "

程星 87 Dec 24, 2022
Spiking Neural Network for Computer Vision using SpikingJelly framework and Pytorch-Lightning

Spiking Neural Network for Computer Vision using SpikingJelly framework and Pytorch-Lightning

Sami BARCHID 2 Oct 20, 2022
Learning Temporal Consistency for Low Light Video Enhancement from Single Images (CVPR2021)

StableLLVE This is a Pytorch implementation of "Learning Temporal Consistency for Low Light Video Enhancement from Single Images" in CVPR 2021, by Fan

99 Dec 19, 2022
InsTrim: Lightweight Instrumentation for Coverage-guided Fuzzing

InsTrim The paper: InsTrim: Lightweight Instrumentation for Coverage-guided Fuzzing Build Prerequisite llvm-8.0-dev clang-8.0 cmake = 3.2 Make git cl

75 Dec 23, 2022
A standard framework for modelling Deep Learning Models for tabular data

PyTorch Tabular aims to make Deep Learning with Tabular data easy and accessible to real-world cases and research alike.

801 Jan 08, 2023
Generate images from texts. In Russian. In PaddlePaddle

ruDALL-E PaddlePaddle ruDALL-E in PaddlePaddle. Install: pip install rudalle_paddle==0.0.1rc1 Run with free v100 on AI Studio. Original Pytorch versi

AgentMaker 20 Oct 18, 2022
STMTrack: Template-free Visual Tracking with Space-time Memory Networks

STMTrack This is the official implementation of the paper: STMTrack: Template-free Visual Tracking with Space-time Memory Networks. Setup Prepare Anac

Zhihong Fu 62 Dec 21, 2022
An Inverse Kinematics library aiming performance and modularity

IKPy Demo Live demos of what IKPy can do (click on the image below to see the video): Also, a presentation of IKPy: Presentation. Features With IKPy,

Pierre Manceron 481 Jan 02, 2023
Winners of the Facebook Image Similarity Challenge

Winners of the Facebook Image Similarity Challenge

DrivenData 111 Jan 05, 2023
A small library for creating and manipulating custom JAX Pytree classes

Treeo A small library for creating and manipulating custom JAX Pytree classes Light-weight: has no dependencies other than jax. Compatible: Treeo Tree

Cristian Garcia 58 Nov 23, 2022
AITom is an open-source platform for AI driven cellular electron cryo-tomography analysis.

AITom Introduction AITom is an open-source platform for AI driven cellular electron cryo-tomography analysis. AITom is originated from the tomominer l

93 Jan 02, 2023
Distance correlation and related E-statistics in Python

dcor dcor: distance correlation and related E-statistics in Python. E-statistics are functions of distances between statistical observations in metric

Carlos Ramos Carreño 108 Dec 27, 2022
Data and extra materials for the food safety publications classifier

Data and extra materials for the food safety publications classifier The subdirectories contain detailed descriptions of their contents in the README.

1 Jan 20, 2022
Code to accompany the paper "Finding Bipartite Components in Hypergraphs", which is published in NeurIPS'21.

Finding Bipartite Components in Hypergraphs This repository contains code to accompany the paper "Finding Bipartite Components in Hypergraphs", publis

Peter Macgregor 5 May 06, 2022
Convnet transfer - Code for paper How transferable are features in deep neural networks?

How transferable are features in deep neural networks? This repository contains source code necessary to reproduce the results presented in the follow

Jason Yosinski 143 Sep 13, 2022
ConE: Cone Embeddings for Multi-Hop Reasoning over Knowledge Graphs

ConE: Cone Embeddings for Multi-Hop Reasoning over Knowledge Graphs This is the code of paper ConE: Cone Embeddings for Multi-Hop Reasoning over Knowl

MIRA Lab 33 Dec 07, 2022
Catbird is an open source paraphrase generation toolkit based on PyTorch.

Catbird is an open source paraphrase generation toolkit based on PyTorch. Quick Start Requirements and Installation The project is based on PyTorch 1.

Afonso Salgado de Sousa 5 Dec 15, 2022
Implementation of OmniNet, Omnidirectional Representations from Transformers, in Pytorch

Omninet - Pytorch Implementation of OmniNet, Omnidirectional Representations from Transformers, in Pytorch. The authors propose that we should be atte

Phil Wang 48 Nov 21, 2022
Code for ICCV 2021 paper "Distilling Holistic Knowledge with Graph Neural Networks"

HKD Code for ICCV 2021 paper "Distilling Holistic Knowledge with Graph Neural Networks" cifia-100 result The implementation of compared methods are ba

Wang Yucheng 30 Dec 18, 2022
Official Implementation of HRDA: Context-Aware High-Resolution Domain-Adaptive Semantic Segmentation

HRDA: Context-Aware High-Resolution Domain-Adaptive Semantic Segmentation by Lukas Hoyer, Dengxin Dai, and Luc Van Gool [Arxiv] [Paper] Overview Unsup

Lukas Hoyer 149 Dec 28, 2022