You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I believe that at the "update full gradient" stage, the full gradient is not is actually not used to update the image. self.stochastic_grad_difference is not changed in this case, and that as that is used as return value, it means that the return value will actually be full_gradient + previous_grad_diff * N`, which is incorrect.
(I think the fact that at the first iteration the current code works is because self.stochastic_grad_difference is initialised as zero).
Instead, I think the update_flag=True case needs to have
That one doesn't have the above logic problem as far as I can see. I have a few minor comments on that function. Where/how do you want me to comment on it?
@epapoutsellis and i saw differences between this SVRG implementation and a test-one from myself. Checking the code
StochasticCIL/Wrappers/Python/cil/optimisation/functions/SVRGFunction.py
Lines 81 to 114 in f9f67d5
I believe that at the "update full gradient" stage, the full gradient is not is actually not used to update the image.
self.stochastic_grad_difference
is not changed in this case, and that as that is used as return value, it means that the return value will actually be full_gradient + previous_grad_diff * N`, which is incorrect.(I think the fact that at the first iteration the current code works is because
self.stochastic_grad_difference
is initialised as zero).Instead, I think the
update_flag=True
case needs to havepinging @jakobsj @zeljkozeljko @MargaretDuff for confirmation
The text was updated successfully, but these errors were encountered: