GithubHelp home page GithubHelp logo

topo_bbgm's Introduction

Deep Graph Matching via Blackbox Differentiation of Combinatorial Solvers

This repository contains PyTorch implementation of the paper: Deep Graph Matching via Blackbox Differentiation of Combinatorial Solvers .

It also contains the configuration files to reproduce the numbers reported in the paper for the following experiments:

  • PascalVOC Using keypoint-intersection filtering and unfiltered keypoints. Also with multi-matching solver in postprocessing.
  • Willow Pre-training on PascalVOC and fine tuning on Willow can be controlled separately
  • SPair-71k With the default intersection keypoint filetering.

See also the LPMP repository with the combinatorial solvers for graph matching and multi-graph matching as well corresponding PyTorch modules. The solvers were made differentiable via blackbox-backprop (Differentiation of Blackbox Combinatorial Solvers)

Sheep Chair Airplane
alt text alt text alt text

Get started

  1. Check if gcc-9, g++-9, cmake are available (for building lpmp_py).
  2. Check if findutils (>=4.7.0) is available
  3. Check if hdf5 is installed (apt install libhdf5-serial-dev)
  4. Check if cuda 10.1 and cudnn 7 are available
  5. Check if texlive-latex-extra is installed (apt install texlive-latex-extra)
  6. Run pipenv install (at your own risk with --skip-lock to save some time).
  7. Run chmod +x ./download_data.sh && ./download_data.sh.
  8. Try running a training example, if the import of torch_geometric fails, follow this.

Training

Run training and evaluation

python3 -m pipenv shell
python3 train_eval.py path/to/your/json

where path/to/your/json is the path to your configuration file. Configurations that reproduce the scores reported in the paper are in ./experiments.

Willow

In order to run Willow with an architecture pretrained on PascalVOC, you need to create a snapshot to warm-start with. For this purpose, run python3 train_eval.py experiments/willow/voc_pretrain.json. Then enter the path to the checkpoint into pretrain_[no]finetune.json in the field warmstart_path.

Troubleshooting

  • NANs or significantly worse scores Check your installation of torch_geometric, torch_sparse, torche_scatter, torch_cluster and torch_spline_conv. Go to the repositories and check the latest installation instructions and make sure to compile locally.

Citation

@article{rolinek2020deep,
    title={Deep Graph Matching via Blackbox Differentiation of Combinatorial Solvers},
    author={Michal Rolínek and Paul Swoboda and Dominik Zietlow and Anselm Paulus and Vít Musil and Georg Martius},
    year={2020},
    eprint={2003.11657},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

topo_bbgm's People

Contributors

q3erf avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.