GeoSimilarity is a differentiable curve and surface similarity loss function library.
It is built on top of PyTorch and is designed with modularity and extensibility in mind.
Note
We are in the very early stages of development and are inviting domain experts for collaboration.
For a flavor of the documentation please refer: Documentation Webpage
We are in the very early stages of development are are inviting collaborators for:
- Code Optimization: Benchmark your results and show a clear improvement.
- Novel Loss Functions: Developing new curve/surface/point cloud similarity measures.
- Testing: Incorporating testing codes.
- Improving Documentation: Improving doc-string clarity and including doc tests. Also for improving the documentation website and adding explanations of similarity measures.
We'll use Github issues for tracking pull requests and bugs.
To pip install run:
$ pip install geosimilarity
Given a candidate curve
import torch
import geosimilarity as gs
Xc = torch.randn(10, 2, requires_grad = True)
Xt = torch.randn(10, 2)
# Define a loss object and compute the similarity between curves
loss_fn = gs.MSELoss()
loss = loss_fn(Xc, Xt)
# To modify Xc to fit the target use autograd capacity for gradient stepping
loss.backward()
Distributed under the MIT License.