While playing with the help patch of fluid.umap~ I might have found something suspicious. I guess it is not that likely that this is a “severe” issue, but thought I should report it anyway… So I was trying to build an intuition about how umap clusters different data, and I changed the [random 256] in [p making_random_colour_points] to a [drunk 256] and then tried different step sizes and different attributes for umap. Seems like it does not like when all datapoints are the same, as it happened to me with [drunk 256 1] which produces a consistent crash when I fire the fittransform message.
Nice catch, I’m investigating… will update accordingly
edit 1: it is not all points equal the problem.
edit 2: it is not happening with 4 dims either… but I just noticed, you cols is 3 and you have 4 dims… that is a known bug - we need to check that people don’t do invalid cols when loading indeed and it seems that you found a way to make one. @weefuzzy I cannot reproduce in SC but I’ll try in Max now.
But that seems to be expected because of this:
Or am I missing something?
Interestingly, the dataset prints like so:
…while the loaded dict looks like:
Something doesn’t add up.
edit: the dict remembering thing (point 1 above) seems to have been a one-time thing, it does not happen after Max is restarted.
edit2: nope, it does remember (ie. if you run the help patch, close everything in Max without quitting the app, then reopen the help patch and look at the dict) the dict contents until you restart Max, which is suspicious.
it is indeed but then, it is not a real problem here. @weefuzzy there must be someone funny with our dict dirty flags or we might just keep a link to it in the table?
ha! found it! it is a known bug - standardizing a dataset full of exacttly similar items will give NaNs at the output and in turn, that crashes UMAP. we should check for those in the latter. Nice catch!
Yes, just found it out that it will crash with any number and was wondering about the standardization… Shouldn’t a dataset with many identical values standardize to 0 “legally”?