code: def test_validation_handler_batch_axis():
      # test case #1: test batch_axis=0
      test_data = _get_test_data()
      net = _get_test_network()
      ce_loss = loss.SoftmaxCrossEntropyLoss()
      acc = mx.gluon.metric.Accuracy()
      est = estimator.Estimator(net, loss=ce_loss, train_metrics=acc)
      est.fit(test_data, epochs=3)
  
      # test case #2: test batch_axis=1
      test_data = _get_batch_axis_test_data()
      val_data = _get_batch_axis_test_data(in_size=30)
      est = estimator.Estimator(net, loss=ce_loss, train_metrics=acc)
      est.fit(test_data, val_data=val_data, epochs=3, batch_axis=1)
  
imports: import os
  import logging
  import sys
  import re
  import mxnet
  from common import TemporaryDirectory
  from mxnet import np
  from mxnet.gluon import nn, loss
  from mxnet.gluon.contrib.estimator import estimator, event_handler
  from mxnet.gluon.contrib.estimator.event_handler import LoggingHandler
  from mxnet.gluon.contrib.estimator.event_handler import ValidationHandler
  from mxnet.gluon.contrib.estimator import EpochEnd
  from mxnet.gluon.data.dataset import Dataset
label_desc: Use image node_id 10 for calling a global function with example usage: test_validation_handler_batch_axis() without return types