Skip to content

ShkalikovOleh/cut-gnn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cut-gnn

This repository is a seminar project developing the ideas from the paper:

Jung, S. and Keuper, M., 2022. Learning to solve minimum cost multicuts efficiently using edge-weighted graph convolutional neural networks.

Please note that this project is not properly tested and not currently maintained. This project was developed out of my own interest and initiative, going beyond the strict requirements of the seminar, and should be treated as such.

New Ideas

  • Unsupervised formulation
  • Relaxed cycle consistency loss
  • Weight embeddings
  • [NOT Implemented] Learning orthogonal embedding

For detailed explanations of the paper and my ideas, please refer to the report branch.

Installation

To get started, first clone the repository to your local machine:

git clone git@github.com:ShkalikovOleh/cut-gnn.git

This project utilizes uv for dependency management. You will need to install uv first if you don't have it:

curl -LsSf https://astral.sh/uv/install.sh | sh

To install the project dependencies, navigate to the root of this repository and run one of the following commands based on your CUDA setup:

  • For CUDA 11.8:
    uv sync --extra "cu118"
  • For CPU-only development:
    uv sync --extra "cpu"

Usage

Scripts for generating IrisMP dataset and running training/testing are available in the scripts directory.

This project heavily relies on PyTorch Lightning and PyTorch Geometric. It is highly recommended to read the PyTorch Lightning documentation carefully, especially regarding LightningCLI, as the scripts in this repository make extensive use of it.

About

Graph neural networks for solving the multicut problem

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages