-
Notifications
You must be signed in to change notification settings - Fork 55
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
mean
runtime-dispatch and allocations on Lie Groups - SE(2/3)
#661
Comments
There are different approaches to approximating the mean (note that on most manifolds there is no closed form solution like the nice one on It heavily depends on the manifold, which one works better — we could maybe think about a uff, Melder Mead itself if one of the slowest algorithms I am aware of, I would maybe either recommend to sit down and compute the gradient or use some AD tools to compute it and then use quasi Newton? (If your problem is smooth enough that is). But concerning your second post and considering that Nelder Mead is not far away from randomly wandering over the manifold looking for some nice cost – what would you expect? Without gradient information I would not expect much. |
I will take a look if performance can be improved. Also, perhaps |
Thanks for the explanation.
One of our algorithms currently uses NelderMead from Optim.jl and I wanted to swop it out for the Manopt version. The next step would be to use analytic gradients where applicable or fall back to AD for smooth problems.
That part of the flame graph is where we have to calculate the variance of about 100 points. NelderMead has so far proven more robust than the other methods I tried and I suspect it will continue to have a place as a fallback, for example, some of our cost functions are Flux models. |
That sounds reasonable.
Ah ok, so it is not in Nelder Mead or is that in Nelder Mead?
Sure it is robust. Maybe similar to a tractor. Gets forward does the job. Does not so much win in formula one maybe ;) |
@kellertuer what do you think about moving |
Sounds nice, but then really as well with a |
I will take a look at that after 0.15 update is finished. |
We use
mean
in a few performance-critical places and I've noticed it was one of the bottlenecks.For example:
mean
also makes NelderMead really slow.Is this to be expected?
I found
GeodesicInterpolation()
and it makes it a lot faster, but I'm not familiar enough to know if it's okay to use on Lie Groups in general?Also, if
GeodesicInterpolation()
is indeed the correct way forward, should NelderMead have a parameter similar to retraction method to set the mean method?Medium term we would like to support any Lie Group, but short term the performance of SE(2/3) is most important.
The text was updated successfully, but these errors were encountered: