code: def test_reduce_front_max(self, num_reduce_dim, gc, dc):
      X = np.random.rand(6, 7, 8, 2).astype(np.float32)
  
      def ref_frontmax(X):
          return [np.max(X, axis=(tuple(range(num_reduce_dim))))]
  
      self.max_op_test(
          "ReduceFrontMax",
          num_reduce_dim,
          gc,
          dc,
          [X],
          ["X"],
          ref_frontmax,
      )
  
imports: from caffe2.python import core, workspace
  from hypothesis import given, settings
  import caffe2.python.hypothesis_test_util
  import caffe2.python.serialized_test.serialized_test_util
  import hypothesis.strategies
  import numpy
  import itertools
label_desc: Use image node_id 9 for calling the TestReduceFrontReductions obj's underlying member method code with example usage: obj.test_reduce_front_max(num_reduce_dim, gc, dc) and returns: list