class_docstr: Provides metrics for the number of examples processed per second.
  
  Examples:
      For more information on how metric works with :class:`~ignite.engine.engine.Engine`, visit :ref:`attach-engine`.
  
      .. code-block:: python
  
          # Compute number of tokens processed
          wps_metric = Frequency(output_transform=lambda x: x['ntokens'])
          wps_metric.attach(trainer, name='wps')
          # Logging with TQDM
          ProgressBar(persist=True).attach(trainer, metric_names=['wps'])
          # Progress bar will look like
          # Epoch [2/10]: [12/24]  50%|█████      , wps=400 [00:17<1:23]
  
  
      To compute examples processed per second every 50th iteration:
  
      .. code-block:: python
  
          # Compute number of tokens processed
          wps_metric = Frequency(output_transform=lambda x: x['ntokens'])
          wps_metric.attach(trainer, name='wps', event_name=Events.ITERATION_COMPLETED(every=50))
          # Logging with TQDM
          ProgressBar(persist=True).attach(trainer, metric_names=['wps'])
          # Progress bar will look like
          # Epoch [2/10]: [50/100]  50%|█████      , wps=400 [00:17<00:35]
code: def __init__(
      self,
      output_transform: Callable = lambda x: x,
      device: Union[str, torch.device] = torch.device("cpu"),
  ) -> None:
      super(Frequency, self).__init__(
          output_transform=output_transform, device=device
      )
  
file_path: ignite/ignite/metrics/frequency.py
imports: from typing import Callable, Union
  import torch
  import ignite.distributed
  from ignite.engine import Engine, Events
  from ignite.handlers.timing import Timer
  from ignite.metrics.metric import Metric, reinit__is_reduced, sync_all_reduce
label_desc: Use image node_id 1 to create a new Frequency object from inherited base classes: Metric with example: obj = Frequency(output_transform, device)