SST icon indicating copy to clipboard operation
SST copied to clipboard

What is the goal of IngroupIndicesFunction?

Open ArseniuML opened this issue 1 year ago • 1 comments

As I can see, IngroupIndicesFunction from sst_ops.py is a random number generator. Why do you use it? I can imagine, that RNG can be useful for training, but you use it in the inference code...

I replaced

if len(torch.unique(batch_idx[fg_mask])) < batch_size:
    one_random_pos_per_sample = self.get_sample_beg_position(batch_idx, fg_mask)
    fg_mask[one_random_pos_per_sample] = True # at least one point per sample

to

if len(torch.unique(batch_idx[fg_mask])) < batch_size:
    one_random_pos_per_sample = 0
    fg_mask[one_random_pos_per_sample] = True # at least one point per sample

and inference results (FSDv2 with Argo2 config) seems to be identical (batch index is always 0 in my case).

ArseniuML avatar Feb 05 '24 12:02 ArseniuML

It is designed to create a fake foreground point at the start position of each sample. So, if the inference batch_size is 1, they are the same.

Abyssaledge avatar Feb 08 '24 16:02 Abyssaledge