code: def update(self, **kwargs):
      for k, v in kwargs.items():
          if isinstance(v, torch.Tensor):
              v = v.item()
          if not isinstance(v, (float, int)):
              raise TypeError(
                  f"This method expects the value of the input arguments to be of type float or int, instead  got {type(v)}"
              )
          self.meters[k].update(v)
  
imports: import datetime
  import time
  from collections import defaultdict, deque
  import torch
  from .distributed import reduce_across_processes
label_desc: Use image node_id 2 for calling the MetricLogger obj's underlying member method code with example usage: obj.update() without return types