code: def get_config(self, gindex, pindex, group):
      config = {}
      config["betas"] = group["betas"]
      config["eps"] = group["eps"]
      config["weight_decay"] = group["weight_decay"]
      config["lr"] = group["lr"]
      config["optim_bits"] = self.args.optim_bits
      config["min_8bit_size"] = self.args.min_8bit_size
      config["percentile_clipping"] = self.args.percentile_clipping
      config["block_wise"] = self.args.block_wise
      config["max_unorm"] = self.args.max_unorm
      config["skip_zeros"] = self.args.skip_zeros
  
      if (gindex, pindex) in self.mng.index2config:
          config.update(self.mng.index2config[(gindex, pindex)])
      return config
  
imports: from collections import abc
  from collections import defaultdict
  from copy import deepcopy
  from itertools import chain
  import torch
  import bitsandbytes.functional
label_desc: Use image node_id 8 for calling the Optimizer8bit obj's underlying member method code with example usage: obj.get_config(gindex, pindex, group) and returns: config