class_docstr: Bias Correction (BiC) plugin.
  
  Technique introduced in:
  "Wu, Yue, et al. "Large scale incremental learning." Proceedings
  of the IEEE/CVF Conference on Computer Vision and Pattern
  Recognition. 2019"
  
  Implementation based on FACIL, as in:
  https://github.com/mmasana/FACIL/blob/master/src/approach/bic.py
docstr: Compute groups lengths given the number of groups `num_groups`.
docstr_tok: ["Compute","groups","lengths","given","the","number","of","groups","`","num_groups","`","."]
code: def get_group_lengths(self, num_groups):
      """Compute groups lengths given the number of groups `num_groups`."""
      max_size = int(self.val_percentage * self.mem_size)
      lengths = [max_size // num_groups for _ in range(num_groups)]
      # distribute remaining size among experiences.
      rem = max_size - sum(lengths)
      for i in range(rem):
          lengths[i] += 1
  
      return lengths
  
imports: from collections import defaultdict
  from typing import Dict, List, Optional, TYPE_CHECKING, Sequence, Set, SupportsInt
  from copy import deepcopy
  import torch
  from torch.utils.data import DataLoader
  from torch.optim.lr_scheduler import MultiStepLR
  from avalanche.benchmarks.utils import _taskaware_classification_subset, _concat_taskaware_classification_datasets
  from avalanche.benchmarks.utils.data import AvalancheDataset
  from avalanche.benchmarks.utils.data_loader import ReplayDataLoader
  from avalanche.training.plugins.strategy_plugin import SupervisedPlugin
  from avalanche.training.storage_policy import ExemplarsBuffer, ExperienceBalancedBuffer, ReservoirSamplingBuffer
  from avalanche.models.dynamic_modules import MultiTaskModule
  from avalanche.models.bic_model import BiasLayer
label_desc: Use image node_id 10 for calling the BiCPlugin obj's underlying member method code with example usage: obj.get_group_lengths(num_groups) and returns: lengths