code: def reduce_batch_sequence_static_ops(dtype):
      return [
          (
              reduce_sum,
              lambda x, axes: np.sum(x, axis=axes, keepdims=True),
              lambda x, f, axes: np.ones_like(x),
          ),
          (
              reduce_max,
              lambda x, axes: np.amax(x, axis=axes, keepdims=True),
              lambda x, f, axes: min_max_bwd(x, f, dtype),
          ),
          (
              reduce_min,
              lambda x, axes: np.amin(x, axis=axes, keepdims=True),
              lambda x, f, axes: min_max_bwd(x, f, dtype),
          ),
          (
              reduce_mean,
              lambda x, axes: np.mean(x, axis=axes, keepdims=True),
              lambda x, f, axes: np.ones_like(x)
              / np.prod([x.shape[a] for a in axes]),
          ),
          (
              reduce_log_sum_exp,
              lambda x, axes: np.log(
                  np.sum(np.exp(x), axis=axes, keepdims=True)
              ),
              lambda x, f, axes: np.exp(x - f),
          ),
          (
              reduce_prod,
              lambda x, axes: np.prod(x, axis=axes, keepdims=True),
              lambda x, f, axes: f / x,
          ),
      ]
  
imports: from __future__ import division
  import numpy
  import itertools
  import pytest
  import cntk
  from .ops_test_utils import unittest_helper, _test_unary_op, AA, precision, PRECISION_TO_TYPE, constant
  from cntk.internal import sanitize_dtype_cntk
  from ..None import reduce_sum, reduce_max, reduce_min, reduce_mean, reduce_log_sum_exp, reduce_prod
label_desc: Use image node_id 13 for calling a global function with example usage: reduce_batch_sequence_static_ops(dtype) and returns: list