I am currently trying to figure out a good index_max_
solution that doesn’t require multiple copies of the data or a loop. This would work along the lines of index_add_
except the underlying operation is a max
instead of addition. Does anyone have a solution?
Also, are there plans for more explicitly built-in functionality along the lines of index_add_
, index_copy_
, etc? Even better, it would be awesome to have some sort of lambda-style of overloading for these indexing operations.
In particular, I’m finding occasions where an index_max_
or index_avg_
would be useful. For example, if I have a list of indices corresponding to data (maybe nearest neighbor pointers or something similar) and I want to pool over the indices, I could use it.
For the averaging operation, I currently use index_add_
on my data and also on a torch.ones()
vector and then do the appropriate broadcasted division. I suppose it may be more efficient to do that on the backend though.