code: def inception_v3_train_and_eval(
      train_data,
      test_data,
      num_quantization_bits=32,
      epoch_size=1281167,
      max_epochs=300,
      minibatch_size=None,
      restore=True,
      log_to_file=None,
      num_mbs_per_log=100,
      gen_heartbeat=False,
      scale_up=False,
      profiling=False,
  ):
      C.debugging.set_computation_network_trace_level(0)
  
      # NOTE: scaling up minibatch_size increases sample throughput. In 8-GPU machine,
      # ResNet110 samples-per-second is ~7x of single GPU, comparing to ~3x without scaling
      # up. However, bigger minibatch size on the same number of samples means less updates,
      # thus leads to higher training error. This is a trade-off of speed and accuracy
      if minibatch_size is None:
          mb_size = 32 * (
              C.train.distributed.Communicator.num_workers()
              if scale_up
              else 1
          )
      else:
          mb_size = minibatch_size
  
      progress_printer = C.logging.ProgressPrinter(
          freq=num_mbs_per_log,
          tag="Training",
          log_to_file=log_to_file,
          rank=C.train.distributed.Communicator.rank(),
          gen_heartbeat=gen_heartbeat,
          num_epochs=max_epochs,
      )
  
      network = create_inception_v3()
      trainer = create_trainer(
          network,
          epoch_size,
          max_epochs,
          mb_size,
          num_quantization_bits,
          progress_printer,
      )
      train_source = create_image_mb_source(
          train_data,
          True,
          total_number_of_samples=max_epochs * epoch_size,
      )
      test_source = create_image_mb_source(
          test_data, False, total_number_of_samples=C.io.FULL_DATA_SWEEP
      )
      train_and_test(
          network,
          trainer,
          train_source,
          test_source,
          mb_size,
          epoch_size,
          restore,
          profiling,
      )
  
file_path: CNTK/Examples/Image/Classification/GoogLeNet/InceptionV3/Python/InceptionV3_ImageNet_Distributed.py
imports: import os
  import math
  import argparse
  import numpy
  import cntk
  from InceptionV3_ImageNet import create_image_mb_source, create_inception_v3
label_desc: Use image node_id 3 for calling a global function with example usage: inception_v3_train_and_eval(train_data, test_data, num_quantization_bits, epoch_size, max_epochs, minibatch_size, restore, log_to_file, num_mbs_per_log, gen_heartbeat, scale_up, profiling) without return types