code: def __init__(
      self,
      ctx,
      aggregate_type,
      aggregator_name,
      aggregator,
      sample_num,
      args: TrainingArguments,
      master_rank=0,
  ):
      assert aggregator in {
          item.value for item in AggregatorType
      }, f"aggregator should be one of {{item.value for item in AggregatorType}}, but got {aggregator}"
  
      self._args = args
      self._world_size = args.world_size
      self._local_rank = args.local_rank
      self._master_rank = master_rank
      self._aggregator = None
  
      if self._is_master():
          client_class = aggregator_map[aggregator][0]
          logger.info(
              f"Using {aggregator} aggregator, rank={args.local_rank}"
          )
          ctx.arbiter.put("agg_type", aggregator)
  
          aggregator = client_class(
              ctx,
              aggregate_type=aggregate_type,
              aggregator_name=aggregator_name,
              sample_num=sample_num,
          )
  
          self._aggregator = aggregator
  
imports: import logging
  import numpy
  import torch
  import torch.distributed
  from transformers.training_args import TrainingArguments
  from fate.ml.aggregator import AggregatorType, aggregator_map
label_desc: Use image node_id 1 to create a new AggregatorClientWrapper object from inherited base classes: object with example: obj = AggregatorClientWrapper(ctx, aggregate_type, aggregator_name, aggregator, sample_num, args, master_rank)