nlsq.callbacks.IterationLogger

class nlsq.callbacks.IterationLogger(filename=None, mode='w', log_params=False, file=None)[source]

Bases: CallbackBase

Log optimization progress to file or stdout.

Parameters:
  • filename (str, optional) – File to log to. If None and file is None, logs to stdout.

  • mode (str, optional) – File open mode. Default: ‘w’ (overwrite)

  • log_params (bool, optional) – Whether to log parameter values. Default: False

  • file (file-like object, optional) – File-like object to write to. If provided, filename is ignored.

Examples

>>> from nlsq.callbacks import IterationLogger
>>> callback = IterationLogger("optimization.log")
>>> popt, pcov = curve_fit(f, x, y, callback=callback)
__init__(filename=None, mode='w', log_params=False, file=None)[source]
__call__(iteration, cost, params, info)[source]

Log iteration information.

close()[source]

Close log file.

__del__()[source]

Ensure file is closed on deletion.