code: def create_trainer(self):
      try:
          learner = cntk.block_momentum_distributed_learner(
              cntk.momentum_sgd(
                  self.output.parameters,
                  cntk.learning_parameter_schedule(0.0001),
                  cntk.momentum_as_time_constant_schedule(1000),
              ),
              block_size=1000,
              block_learning_rate=0.01,
              block_momentum_as_time_constant=1000,
          )
  
          comm_rank = cntk.distributed.Communicator.rank()
          self.trainer = cntk.Trainer(
              self.output,
              (self.ce, self.err),
              [learner],
              [
                  cntk.logging.ProgressPrinter(
                      freq=progress_freq, tag="Training", rank=comm_rank
                  )
              ],
          )
      except RuntimeError:
          self.trainer = None
      return
  
file_path: CNTK/bindings/python/cntk/learners/tests/bmuf_metrics_aggregation_test.py
imports: import pytest
  import cntk
  import numpy
  import sys, os
  from distributed_learner_test import mpiexec_execute
  import argparse
  import re
  import platform
label_desc: Use image node_id 3 for calling the SimpleBMUFTrainer obj's underlying member method code with example usage: obj.create_trainer() without return types