class_docstr: Trainer extension to aggregate an observation in the trainer.
  Args:
       comm: ChainerMN communicator
       original_key (str): Key of the observation to be summarized.
       If the observation is a :class:`chainer.Variable`, its value
       is automatically copied to CPU.
       aggregated_key (str): Name of the key after the summarization.
       If not specified, it is set to `original_key` to overwrite it.
       comm_trigger: Trigger that decides the timing to communicate
       observation values for aggregation.
       aggregator (function): Function to compute summarization from
       individual values. It takes a list of lists of observed values.
       Each list contains all the observed values since
       the last communication.
code: def __call__(self, trainer):
      summary = self.compute_summary(trainer)
      if summary is not None:
          trainer.observation[self.aggregated_key] = summary
  
file_path: chainer/chainermn/extensions/observation_aggregator.py
imports: from __future__ import division
  from chainer.training import extension, util
  from chainer import Variable
  import chainerx
label_desc: Use image node_id 3 for calling the ObservationAggregator obj's underlying member method code with example usage: obj.__call__(trainer) without return types