scarlet
scarlet copied to clipboard
Port changes from lite branch
There are three distinct changes in the lite
brach that could be brought into the main branch, depending on further testing
- a custom
grad
function for the FFT-based convolution (inConvolutionRenderer
) that avoids theautograd
multi-step gradient in favor of the convolution with the transpose of the diff kernel. - reduction of the step size of the first
fit
iteration to 1/10 of its nominal value to prevent strong jumps for a well-initialized model at the very beginning whenamsgrad
has no previous gradient information - and effective L1 update that is expressed at the observation level, not the parameter level. This solves the problem of finding an appropriate threshold but is formally problematic because it's not a real prox.
Thanks for opening this ticket, sorry that I didn't get around to it yet. You might also want to consider porting the implementation of parameters in proxmin as opposed to functions that fit them.