code: def _infer_learning_rate_schedule_and_ref_minibatch_size(
      use_mean_gradient, ref_minibatch_size, schedule, epoch_size
  ):
      # if non-None reference_minibatch_size will take precedence otherwise according use_mean_gradient if it is True
      ref_minibatch_size = (
          _infer_ref_minibatch_size_from_legacy_use_mean_gradient(
              ref_minibatch_size, use_mean_gradient
          )
      )
      # if minibatch_size is not None, any schedules that are with unspecified reference minibatch size will be overrided.
      schedule = _infer_learning_parameter_schedule(
          schedule, ref_minibatch_size, epoch_size, use_mean_gradient
      )
      _verify_learning_rate_type(schedule)
      return schedule, ref_minibatch_size
  
imports: from enum import Enum, unique
  import warnings
  import numpy
  import cntk.internal.utils
  from ..None import cntk_py, NDArrayView, asarray
  from cntk.internal import typemap
  from ..internal.swig_helper import map_if_possible
label_desc: Use image node_id 15 for calling a global function with example usage: _infer_learning_rate_schedule_and_ref_minibatch_size(use_mean_gradient, ref_minibatch_size, schedule, epoch_size) and returns: schedule,  ref_minibatch_size