TorchCurves brings learnable parametric curves to PyTorch models

TorchCurves: Differentiable Parametric Curves

Machine Learning

Summary

When computers use curves to represent data or features, they often need to adjust those curves to get better results. The authors created TorchCurves, a tool that lets curves be part of machine learning models and change automatically through training. This tool works with popular math formulas for curves and is fast because it uses efficient programming tricks. It helps build smarter systems that rely on smooth shapes or functional data, all within the PyTorch platform.

What this means in practice

  • For machine learning engineers: Integrate trainable parametric curves into neural networks for improved continuous feature embeddings.
  • For data scientists: Use TorchCurves to perform differentiable functional regression models with smooth curve representations.

Authors

Alex Shtoff

Abstract

We present TorchCurves, a PyTorch library that treats vector-valued parametric curves as learnable primitives. Its central operation maps batches of scalar inputs to points on curves represented in B-spline or Legendre polynomial bases, with differentiation through both inputs and coefficients. Curve coefficients can be optimized jointly with the surrounding model or produced by another network. The library provides trainable modules, reusable basis modules, and a functional interface, supporting applications ranging from continuous feature embeddings to Kolmogorov-Arnold networks and functional regression. Its implementation combines classical evaluation algorithms with vectorized PyTorch operations, emphasizing readability and maintainability without custom hardware kernels. Timing experiments compare curve evaluation against NumPy and SciPy and KAN training against EfficientKAN across a range of problem sizes. The results illustrate where this generality remains computationally practical and where overhead is substantial. Library is available on GitHub at https://github.com/alexshtf/torchcurves.