-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No error to check convergence in output of SpatioTemporalProblem #768
Comments
Hi @matthieuheitz , Thanks for raising this. What do you mean by "it does not exist", I guess it should exist, but might be moscot/src/moscot/backends/ott/output.py Line 46 in 4080a94
But I do see that it might be set to It thus should be possible to set it via Pinging @selmanozleyen who is currently working on updating moscot to ott-jax=0.5.0. @selmanozleyen , can you please verify this ? Also, @ArinaDanilina , once we have resolved this (and updated to a new version), can we please write an example how to investigate the convergence? I.e. write an example on plotting the cost and errors, and explaining the difference? |
Thanks for your answer! Yes, you are correct, the attribute exists, but it's equal to Actually, it didn't work when I passed Of note, there seems to be an inconsistency between the number of (outer) iterations you provide to the function through |
Oh, it might be because the first iteration is iteration 0, so |
It's true that counting starts at 0, but not sure why this is not being plotted then, following moscot/src/moscot/backends/ott/output.py Line 154 in 4080a94
@ArinaDanilina could you please check that? |
Hi @MUCDK , if it is not convergent, could it be used as a solution? Thank you! |
Hi @yuling999666 , you should check the errors, and if this looks reasonable, I would suggest to increase the |
Hi @MUCDK , thank you for your reply. I'm curious about how should I tell the errors are reasonable. According to the attached result, I think the errors are very big and I think I need to change alpha value. |
Hi, yeah not sure whether you printed all of them, but I do agree that you should first play with alpha, epsilon, tau_a/b. |
Hi @MUCDK thank you for your suggestions. I appreciate it! |
Hi @MUCDK , what does the errors specifically stand for? Thank you ! |
It's the sum over the errors of the row/column sums from the marginals (in case it's a balanced problem). For unbalanced problems the covergence is determined by Cauchy sequence criteria |
In the output of TemporalProblem, I'm able to look at the marginal error (I'm using balanced OT) over the iterations, to get a sense of the convergence of the algorithm (in a more detailed way than just the boolean "converged") using:
tp.solutions[(0,1)]._errors
However, with the SpatioTemporalProblem, this
_error
field doesn't exist.Is that normal for the FGW problem? Can't we calculate the marginal error for it?
Otherwise, it could maybe return the error vector of the last inner Sinkhorn loop?
Thanks!
The text was updated successfully, but these errors were encountered: