CurvLinOps

This library implements scipy LinearOperator s for deep learning matrices, such as

  • the Hessian

  • the Fisher/generalized Gauss-Newton (GGN)

Matrix-vector products are carried out in PyTorch, i.e. potentially on a GPU. The library supports defining these matrices not only on a mini-batch, but on data sets (looping over batches during a matvec operation).

You can plug these linear operators into scipy, while carrying out the heavy lifting (matrix-vector multiplies) in PyTorch on GPU. My favorite example for such a routine is eigsh that lets you compute a subset of eigenpairs.

Installation

pip install curvlinops-for-pytorch

Getting started