class_docstr: An `Estimator` type with utilities for creating Gluon-based models.
  
  To extend this class, one needs to implement three methods:
  `create_transformation`, `create_training_network`, `create_predictor`,
  `create_training_data_loader`, and `create_validation_data_loader`.
class_docstr_tok: ["An","`","Estimator","`","type","with","utilities","for","creating","Gluon-based","models",".","To","extend","this","class",",","one","needs","to","implement","three","methods",":","`","create_transformation","`",",","`","create_training_network","`",",","`","create_predictor","`",",","`","create_training_data_loader","`",",","and","`","create_validation_data_loader","`","."]
code: def __init__(
      self,
      *,
      trainer: Trainer,
      batch_size: int = 32,
      lead_time: int = 0,
      dtype: Type = np.float32,
  ) -> None:
      super().__init__(lead_time=lead_time)
  
      assert batch_size > 0, "The value of `batch_size` should be > 0"
  
      self.batch_size = batch_size
      self.trainer = trainer
      self.dtype = dtype
  
imports: from typing import NamedTuple, Optional, Type, Union
  import numpy
  from gluonts.core import fqname_for
  from gluonts.core.component import GluonTSHyperparametersError, from_hyperparameters, validated
  from gluonts.dataset.common import Dataset
  from gluonts.dataset.loader import DataLoader
  from gluonts.env import env
  from gluonts.itertools import Cached
  from gluonts.model import Estimator, Predictor
  from gluonts.mx.model.predictor import GluonPredictor
  from gluonts.mx.trainer import Trainer
  from gluonts.mx.util import copy_parameters
  from gluonts.pydantic import ValidationError
  from gluonts.transform import Transformation, TransformedDataset
  from mxnet.gluon import HybridBlock
label_desc: Use image node_id 1 to create a new GluonEstimator object from inherited base classes: Estimator with example: obj = GluonEstimator()