GitHub repository for the ICLR Computational Geometry & Topology Challenge 2021

Overview

ICLR Computational Geometry & Topology Challenge 2022

Welcome to the ICLR 2022 Computational Geometry & Topology challenge 2022 --- by the ICLR 2022 Workshop on Geometrical and Topological Representation Learning.

Lead organizers: Adele Myers, Saiteja Utpala, and Nina Miolane (UC Santa Barbara).

DOI

Description of the challenge

The purpose of this challenge is to foster reproducible research in geometric (deep) learning, by crowdsourcing the open-source implementation of learning algorithms on manifolds. Participants are asked to contribute code for a published/unpublished algorithm, following Scikit-Learn/Geomstats' or pytorch's APIs and computational primitives, benchmark it, and demonstrate its use in real-world scenarios.

Each submission takes the form of a Jupyter Notebook leveraging the coding infrastructure and building blocks from the package Geomstats. The participants submit their Jupyter Notebook via Pull Requests (PR) to this GitHub repository, see Guidelines below.

In addition to the challenge's prizes, participants will have the opportunity to co-author a white paper summarizing the findings of the competition.

This is the second edition of this challenge! Feel free to look at last year's guidelines, submissions, winners and paper for additional information.

Note: We invite participants to review this README regularly, as details are added to the guidelines when questions are submitted to the organizers.

Deadline

The final Pull Request submission date and hour will have to take place before:

  • April 4th, 2022 at 16:59 PST (Pacific Standard Time).

The participants can freely commit to their Pull Request and modify their submission until this time.

Winners announcement and prizes

The first 3 winners will be announced at the ICLR 2022 virtual workshop Geometrical and Topological Representation Learning and advertised through the web. The winners will also be contacted directly via email.

The prizes are:

  • $2000 for the 1st place,
  • $1000 for the 2nd place,
  • $500 for the 3rd place.

Subscription

Anyone can participate and participation is free. It is enough to:

  • send a Pull Request,
  • follow the challenge guidelines, to be automatically considered amongst the participants.

An acceptable PR automatically subscribes a participant to the challenge.

Guidelines

We encourage the participants to start submitting their Pull Request early on. This allows to debug the tests and helps to address potential issues with the code.

Teams are accepted and there is no restriction on the number of team members.

The principal developpers of Geomstats (i.e. the co-authors of Geomstats published papers) are not allowed to participate.

A submission should respect the following Jupyter Notebook’s structure:

  1. Introduction and Motivation
  • Explain and motivate the choice of learning algorithm
  1. Related Work and Implementations
  • Contrast the chosen learning algorithms with other algorithms
  • Describe existing implementations, if any
  1. Implementation of the Learning Algorithm --- with guidelines:
  • Follow Scikit-Learn/Geomstats APIs, see RiemannianKMeans example, or Pytorch base classes such as torch.nn.Module.
  • IMPORTANT: Use Geomstats computational primitives (e.g. exponential, geodesics, parallel transport, etc). Note that the functions in geomstats.backend are not considered computational primitives, as they are only wrappers around autograd, numpy, torch and tensorflow functions.
  1. Test on Synthetic Datasets and Benchmark
  2. Application to Real-World Datasets

Examples of possible submissions

  • Comparing embedding on trees in hyperbolic plane and variants, e.g. from Sarkar 2011.
  • Hypothesis testing on manifolds, e.g. from Osborne et al 2013..
  • (Extended/Unscented) Kalman Filters on Lie groups and variants, e.g. from Bourmaud et al 2013.
  • Gaussian Processes on Riemannian Manifolds and variants, e.g. from Calandra et al 2014.
  • Barycenter Subspace Analysis on Manifolds and variants, e.g. from Pennec 2016.
  • Curve fitting on manifolds and variants, e.g. from Gousenbourger et al 2018.
  • Smoothing splines on manifolds, e.g. from Kim et al 2020.
  • Recurrent models on manifolds and variants, e.g. from Chakraborty et al 2018.
  • Geodesic CNNs on manifolds and variants, e.g. from Masci et al 2018.
  • Variational autoencoders on Riemannian manifolds and variants, e.g. from Miolane et al 2019.
  • Probabilistic Principal Geodesic Analysis and variants, e.g. from Zhang et al 2019.
  • Gauge-equivariant neural networks and variants, e.g. from Cohen et al 2019.
  • and many more, as long as you implement them using Geomstats computational primitives (e.g. exponential, geodesics, parallel transport, etc).

Before starting your implementation, make sure that the algorithm that you want to contribute is not already in the learning module of Geomstats.

The notebook provided in the submission-example-* folders is also an example of submission that can help the participants to design their proposal and to understand how to use/inherit from Scikit-Learning, Geomstats, Pytorch. Note that this example is "naive" on purpose and is only meant to give illustrative templates rather than to provide a meaningful data analysis. More examples on how to use the packages can be found on the GitHub repository of Geomstats.

The code should be compatible with Python 3.8 and make an effort to respect the Python style guide PEP8. The portion of the code using geomstats only needs to run with numpy or pytorch backends. However, it will be appreciated by the reviewers/voters if the code can run in all backends: numpy, autograd, tensorflow and pytorch, using geomstats gs., when applicable.

The Jupyter notebooks are automatically tested when a Pull Request is submitted. The tests have to pass. Their running time should not exceed 3 hours, although exceptions can be made by contacting the challenge organizers.

If a dataset is used, the dataset has to be public and referenced. There is no constraint on the data type to be used.

A participant can raise GitHub issues and/or request help or guidance at any time through Geomstats slack. The help/guidance will be provided modulo availability of the maintainers.

Submission procedure

  1. Fork this repository to your GitHub.

  2. Create a new folder with your team leader's GitHub username in the root folder of the forked repository, in the main branch.

  3. Place your submission inside the folder created at step 2, with:

  • the unique Jupyter notebook (the file shall end with .ipynb),
  • datasets (if needed),
  • auxiliary Python files (if needed).

Datasets larger than 10MB shall be directly imported from external URLs or from data sharing platforms such as OpenML.

If your project requires external pip installable libraries that are not amongst Geomstats’ requirements.txt, you can include them at the beginning of your Jupyter notebook, e.g. with:

import sys
!{sys.executable} -m pip install numpy scipy torch

Evaluation and ranking

The Condorcet method will be used to rank the submissions and decide on the winners. The evaluation criteria will be:

  1. How "interesting"/"important"/"useful" is the learning algorithm? Note that this is a subjective evaluation criterion, where the reviewers will evaluate what the implementation of this algorithm brings to the community (regardless of the quality of the code).
  2. How readable/clean is the implementation? How well does the submission respect Scikit-Learn/Geomstats/Pytorch's APIs? If applicable: does it run across backends?
  3. Is the submission well-written? Does the docstrings help understand the methods?
  4. How informative are the tests on synthetic datasets, the benchmarks, and the real-world application?

Note that these criteria do not reward new learning algorithms, nor learning algorithms that outperform the state-of-the-art --- but rather clean code and exhaustive tests that will foster reproducible research in our field.

Selected Geomstats maintainers and collaborators, as well as each team whose submission respects the guidelines, will vote once on Google Form to express their preference for the 3 best submissions according to each criterion. Note that each team gets only one vote, even if there are several participants in the team.

The 3 preferences must all 3 be different: e.g. one cannot select the same Jupyter notebook for both first and second place. Such irregular votes will be discarded. A link to a Google Form will be provided to record the votes. It will be required to insert an email address to identify the voter. The voters will remain secret, only the final ranking will be published.

Questions?

Feel free to contact us through GitHub issues on this repository, on Geomstats repository or through Geomstats slack. Alternatively, you can contact Nina Miolane at [email protected].

Comments
  • Question about what algorithms would count

    Question about what algorithms would count

    Hi,

    I was wondering whether a couple of algorithms that are about learning metrics and embeddings would be within the scope.

    Specifically, if the following two algorithms (either individually or collectively) would be within scope

    1. TreeRep from paper. This is an algorithm that takes in a metric and outputs a tree.
    2. Tree embeddings in Hyperbolic space from this paper. This is an algorithm that takes a weighted tree and then embeds into the hyperbolic manifold.

    Thanks, Rishi

    opened by rsonthal 8
  • NeuroSEED for Small Open Reading Frame Proteins Submission

    NeuroSEED for Small Open Reading Frame Proteins Submission

    All the files for the code are in a branch called "master." There is one folder and inside are all the codes and folders necessary to run the code.

    opened by xiongjeffrey 3
  • Challenge submission: Sasaki Metric and Applications in Geodesic Analysis

    Challenge submission: Sasaki Metric and Applications in Geodesic Analysis

    Dear Challenge Team,

    we are happy to contribute our Project Sasaki Metric and Applications in Geodesic Analysis to the ICLR Challgene 2022.

    Best regards, Felix Ambellan, Martin Hanik, Esfandiar Nava-Yazdani, and Christoph von Tycowicz

    opened by vontycowicz 1
  • NeuroSEED for Small Open Reading Frame Proteins

    NeuroSEED for Small Open Reading Frame Proteins

    Unfortunately, I don't have access to the Geomstats Slack and I am unsure how to accurately submit a pull request. The link to our research folder is below. https://github.com/xiongjeffrey/NeuroSEED

    opened by xiongjeffrey 0
  • autodiff fails on svd in pre_shape.py

    autodiff fails on svd in pre_shape.py

    Dear geomstats team,

    we are trying to perform geodesic regression in Kendall shape space but encountered the issue that the current implementation is not compatible with autodiff functionality. In particular, the align method in geomstats/geometry/pre_shape.py employs singular value decomposition for which autodiff fails if a full set of left/right singular vectors are requested. However, providing the flag 'full_matrices=False' avoids this pitfall and should yield the same alignment.

    We added the flag and, indeed, are now able to run regression. We will submit the modified pre_shape.py along with our project s.t. it does not rely on short notice updates of geomstats.

    Best regards, Christoph

    opened by vontycowicz 1
Releases(final)
Realtime YOLO Monster Detection With Non Maximum Supression

Realtime-YOLO-Monster-Detection-With-Non-Maximum-Supression Table of Contents In

5 Oct 07, 2022
Scalable Attentive Sentence-Pair Modeling via Distilled Sentence Embedding (AAAI 2020) - PyTorch Implementation

Scalable Attentive Sentence-Pair Modeling via Distilled Sentence Embedding PyTorch implementation for the Scalable Attentive Sentence-Pair Modeling vi

Microsoft 25 Dec 02, 2022
pytorch bert intent classification and slot filling

pytorch_bert_intent_classification_and_slot_filling 基于pytorch的中文意图识别和槽位填充 说明 基本思路就是:分类+序列标注(命名实体识别)同时训练。 使用的预训练模型:hugging face上的chinese-bert-wwm-ext 依

西西嘛呦 33 Dec 15, 2022
Scalable Multi-Agent Reinforcement Learning

Scalable Multi-Agent Reinforcement Learning 1. Featured algorithms: Value Function Factorization with Variable Agent Sub-Teams (VAST) [1] 2. Implement

3 Aug 02, 2022
Implementation of DocFormer: End-to-End Transformer for Document Understanding, a multi-modal transformer based architecture for the task of Visual Document Understanding (VDU)

DocFormer - PyTorch Implementation of DocFormer: End-to-End Transformer for Document Understanding, a multi-modal transformer based architecture for t

171 Jan 06, 2023
PipeTransformer: Automated Elastic Pipelining for Distributed Training of Large-scale Models

PipeTransformer: Automated Elastic Pipelining for Distributed Training of Large-scale Models This repository is the official implementation of the fol

DistributedML 41 Dec 06, 2022
code associated with ACL 2021 DExperts paper

DExperts Hi! This repository contains code for the paper DExperts: Decoding-Time Controlled Text Generation with Experts and Anti-Experts to appear at

Alisa Liu 68 Dec 15, 2022
Predicting Tweet Sentiment Maching Learning and streamlit

Predicting-Tweet-Sentiment-Maching-Learning-and-streamlit (I prefere using Visual Studio Code ) Open the folder in VS Code Run the first cell in requi

1 Nov 20, 2021
How Effective is Incongruity? Implications for Code-mix Sarcasm Detection.

Code for the paper: How Effective is Incongruity? Implications for Code-mix Sarcasm Detection - ICON ACL 2021

2 Jun 05, 2022
Flappy bird automation using Neuroevolution of Augmenting Topologies (NEAT) in Python

FlappyAI Flappy bird automation using Neuroevolution of Augmenting Topologies (NEAT) in Python Everything Used Genetic Algorithm especially NEAT conce

Eryawan Presma Y. 2 Mar 24, 2022
Template repository to build PyTorch projects from source on any version of PyTorch/CUDA/cuDNN.

The Ultimate PyTorch Source-Build Template Translations: 한국어 TL;DR PyTorch built from source can be x4 faster than a naïve PyTorch install. This repos

Joonhyung Lee/이준형 651 Dec 12, 2022
A large-scale video dataset for the training and evaluation of 3D human pose estimation models

ASPset-510 (Australian Sports Pose Dataset) is a large-scale video dataset for the training and evaluation of 3D human pose estimation models. It contains 17 different amateur subjects performing 30

Aiden Nibali 25 Jun 20, 2021
VISSL is FAIR's library of extensible, modular and scalable components for SOTA Self-Supervised Learning with images.

What's New Below we share, in reverse chronological order, the updates and new releases in VISSL. All VISSL releases are available here. [Oct 2021]: V

Meta Research 2.9k Jan 07, 2023
TuckER: Tensor Factorization for Knowledge Graph Completion

TuckER: Tensor Factorization for Knowledge Graph Completion This codebase contains PyTorch implementation of the paper: TuckER: Tensor Factorization f

Ivana Balazevic 296 Dec 06, 2022
📝 Wrapper library for text generation / language models at char and word level with RNN in TensorFlow

tensorlm Generate Shakespeare poems with 4 lines of code. Installation tensorlm is written in / for Python 3.4+ and TensorFlow 1.1+ pip3 install tenso

Kilian Batzner 63 May 22, 2021
Code for pre-training CharacterBERT models (as well as BERT models).

Pre-training CharacterBERT (and BERT) This is a repository for pre-training BERT and CharacterBERT. DISCLAIMER: The code was largely adapted from an o

Hicham EL BOUKKOURI 31 Dec 05, 2022
AI assistant built in python.the features are it can display time,say weather,open-google,youtube,instagram.

AI assistant built in python.the features are it can display time,say weather,open-google,youtube,instagram.

AK-Shanmugananthan 1 Nov 29, 2021
Anomaly Detection Based on Hierarchical Clustering of Mobile Robot Data

We proposed a new approach to detect anomalies of mobile robot data. We investigate each data seperately with two clustering method hierarchical and k-means. There are two sub-method that we used for

Zekeriyya Demirci 1 Jan 09, 2022
Code for Talk-to-Edit (ICCV2021). Paper: Talk-to-Edit: Fine-Grained Facial Editing via Dialog.

Talk-to-Edit (ICCV2021) This repository contains the implementation of the following paper: Talk-to-Edit: Fine-Grained Facial Editing via Dialog Yumin

Yuming Jiang 221 Jan 07, 2023
ObjectDrawer-ToolBox: a graphical image annotation tool to generate ground plane masks for a 3D object reconstruction system

ObjectDrawer-ToolBox is a graphical image annotation tool to generate ground plane masks for a 3D object reconstruction system, Object Drawer.

77 Jan 05, 2023