Open bernstei opened 3 weeks ago
@ilyes319 thoughts about this one? I think that, even if this isn't exactly the heuristic we use long term, the changes I made are an improvement to the overall design, and will be easier to work with in the future.
@bernstei It looks good but I just realized that installing fpsample on CSD3 is a mess, so I am thinking we should find another way to do that part.
So pip install
isn't working? Anyway, I'm happy to discuss. I've implemented a naive FPS, but it's not going to be feasible for thousands of points and 2e4 dimensions. I.e., we'll need something more sophisticated. I can imagine dimensional reduction (kernel-PCA?) being part of it, but even with that, picking thousands out of tens of thousands would require some of the complex data structures/heuristics.
Note that we could also do it in two PRs. Accept this one, maybe with small additional design choices to make replacing fpsample
easier (it should already support random instead of FPS), or as is, and doing the actual implementation replacement later.
Major refactor of code that subselects pretrained configurations for multihead playback finetuning
Lots of cleanup of code, and substantial change in strategy. For now:
"exclusive"
(perfect element match)"combinations"
(elements in config are a subset of desired)"any"
(any overlap between elements in config and desired)