dipas.optimize module

class dipas.optimize.JacobianAdapter(f_compute, *, ref_data, verbose=False, history=False)

Bases: object

This class allows combination with external optimizers which require the Jacobian.

Can be used together with scipy.optimize.least_squares for example.

Parameters
  • f_compute (callable) – This function should compute the desired quantity, given a tensor of inputs. It will be called with a single argument, a tensor of shape (N,) and must output a single tensor of shape (M,).

  • ref_data (torch.Tensor, shape (M,)) – The reference data to compute the residuals w.r.t. the output of f_compute. Must have the same shape as the output of f_compute.

  • verbose (bool, optional) – If True then at every iteration the current mean squared error is printed to sys.stdout.

  • history (bool, optional) – If True then at every iteration the current estimate and residuals are saved in the history attribute.

step

The current step during the optimization. This attribute is incremented by one for each __call__ of the adapter.

Type

int

history

If the history parameter is set to true then this list is appended the current parameter estimate and residuals as a tuple on every iteration.

Type

list

class Progress(estimate, residual)

Bases: tuple

property estimate

Alias for field number 0

property residual

Alias for field number 1

jacobian(_)

Return the Jacobian corresponding to the last estimate.