BIT-DA/RoTTA

Question about the size of memory bank.

vellichorw opened this issue · 1 comments

Hi authors,
Thanks for your code! My question is:
Is the size of memory bank always be 64 and keep the same with bsz?
If so, when the number of categories are large (like CIFAR-100-C or ImageNet-C), CSTU would frequently discard previous data (according to Algorithm1 line5-9), and is it randomly discard previous data?

Thank you for your attention. For the sake of efficiency and fairness, we chose N = 64. When the number of categories are large then the size of memory bank, CSTU would discard previous data according to the heuristic score.
Please refer to the following function,

def remove_from_classes(self, classes: list[int], score_base):

If eligible, the sample with the highest score in the major class would be replaced first.