Giter Site home page Giter Site logo

c-hofer / torchph Goto Github PK

View Code? Open in Web Editor NEW
56.0 6.0 10.0 7.5 MB

The essence of my research, distilled for reusability. Enjoy ๐Ÿฅƒ!

Home Page: https://c-hofer.github.io/torchph/

License: MIT License

Python 19.19% Jupyter Notebook 60.72% Cuda 13.97% Makefile 0.64% C++ 5.35% Shell 0.13%
pytorch deep-learning persistent-homology topological-data-analysis gpu differentiable-persistent-homology

torchph's Introduction

torchph

This repository contains PyTorch extensions to compute persistent homology and to differentiate through the persistent homology computation. The packaging structure is similar to PyTorch's structure to facilitate usage for people familiar with PyTorch.

Documentation

Read the docs!

The folder tutorials (within docs) contains some (more or less) minimalistic examples in form of Jupyter notebooks to demonstrate how to use the PyTorch extensions.

Associated publications

If you use any of these extensions, please cite the following works (depending on which functionality you use, obviously :)

@inproceedings{Hofer17a,
  author    = {C.~Hofer, R.~Kwitt, M.~Niethammer and A.~Uhl},
  title     = {Deep Learning with Topological Signatures},
  booktitle = {NIPS},
  year      = {2017}}

@inproceedings{Hofer19a,
  author    = {C.~Hofer, R.~Kwitt, M.~Dixit and M.~Niethammer},
  title     = {Connectivity-Optimized Representation Learning via Persistent Homology},
  booktitle = {ICML},
  year      = {2019}}

@article{Hofer19b,
  author    = {C.~Hofer, R.~Kwitt, and M.~Niethammer},
  title     = {Learning Representations of Persistence Barcodes},
  booktitle = {JMLR},
  year      = {2019}}
  
@inproceedings{Hofer20a},
  author    = {C.~Hofer, F.~Graf, R.~Kwitt, B.~Rieck and M.~Niethammer},
  title     = {Graph Filtration Learning},
  booktitle = {arXiv},
  year      = {2020}}
  
@inproceedings{Hofer20a,     
  author    = {C.~Hofer, F.~Graf, M.~Niethammer and R.~Kwitt},     
  title     = {Topologically Densified Distributions},     
  booktitle = {arXiv},    
  year      = {2020}} 

torchph's People

Contributors

c-hofer avatar rkwitt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

torchph's Issues

pershom.cpp seems to be missing from repo

When trying to make the pershom_cpp_src file, there is a reference to a 'pershom.cpp' that does not exist.

Related error:

make: *** No rule to make target 'pershom.cpp', needed by 'pershom.o'. Stop.

remove utils

Utils needs to be refactored to pytorch_utils repository and removed from chofer_torchex

About how to use vr_persistence_l1 to parallel count

Hi, thanks for your work! But i want to know if i can count persistence homological parallel in gpu through torchph?

eg:
n pointclouds size:[batch,pointcloud_number,dim]
to
n persistence homologicals size:[batch,persistence_barcode]

Respecting the help and the answer that you give

Batch processing to get the topology features

Hi, thank you so much for sharing this useful library! I am wondering how to use it for handling batch input. For example, when I want to calculate the vr persistence l1 features of a batch with "BxNx3", one simple way is to use your "vr_persistence_l1" function with a for loop, which will cost a lot of time (B times compared with 1 input). Do you have any suggestion for this scenario?

torch.mul

Torch.mul behaviour is changed. Adapt to new behaviour for element wise multiplication.

SLayer's derivative wrt input

Hello, I have a question about using SLayer. Could you please clarify why isn't it possible to differentiate w.r.t. its input?
Thank you

Rolling docs build at external server

So far we have to build docs locally and push them to gh-pages.

Wanted new behavior:

  1. docs are updated automatically with each push of master

  2. there remains a possobility to build docs locally in some gitignored folder for testing befor pushing

@rkwitt Research if u want to. i'll do the coding.

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.