Learn to approximate the Sign Distance Function (SDF) to the boundary of a distribution (e.g a dataset or a point cloud).
Use a combination of Lipschitz networks, adversarial training and Hinge Kantorovich Rubinstein loss (HKR).
The repository is organized as follow:
run_*.ipynbnotebooks launchs predefined configurations, datasets, create model, train it, and log the results.run_toy2d.ipynbfor toy examples in 2D (see figure above).run_tabular.ipynbfor tabular data (Thyroid, Mammography, etc) in anomaly detection.run_mnist.ipynbfor simple images from Mnist.run_fashion_mnist.ipynbfor harder task on Fashion Mnist.run_sdf.ipynbfor implicit surface parametrization in 3D.run_cat_dogs.ipynbfor challenging experiments on the high dimensional cats versus dogs dataset.
ocml/: contains all source files.experiments/: contains the scripts to launch several experiments sequentially and upload the results to a wandb account. You should login on Wandb before running the scripts.legacy_notebooks/: old notebooks for early experiments and prototypes. Saved for reproducibility and archiving. Should be avoided for new experiments.
Wandb is used experiment tracking, plotly and seaborn are used for plotting. Latest version of deel-lip is recommanded.
The following directories will be populated:
images/: record images produced for uploading towandb.weights/: contain weights of the network architecture in.h5format.wandb/: if wandb is used - to store local variables.