code: def _create_instance_splitter(self, mode: str):
      assert mode in ["training", "validation", "test"]
  
      instance_sampler = {
          "training": self.train_sampler,
          "validation": self.validation_sampler,
          "test": TestSplitSampler(),
      }[mode]
  
      return InstanceSplitter(
          target_field=FieldName.TARGET,
          is_pad_field=FieldName.IS_PAD,
          start_field=FieldName.START,
          forecast_start_field=FieldName.FORECAST_START,
          instance_sampler=instance_sampler,
          past_length=self.context_length,
          future_length=self.prediction_length,
          output_NTC=False,
          time_series_fields=[
              FieldName.FEAT_TIME,
              FieldName.OBSERVED_VALUES,
          ],
      ) + QuantizeMeanScaled(bin_edges=self.bin_edges)
  
imports: from typing import Any, Dict, List, Optional, Iterable
  import lightning.pytorch
  import torch
  import numpy
  from gluonts.core.component import validated
  from gluonts.dataset.common import Dataset
  from gluonts.dataset.field_names import FieldName
  from gluonts.dataset.loader import as_stacked_batches
  from gluonts.itertools import Cyclic
  from gluonts.torch.model.estimator import PyTorchLightningEstimator
  from gluonts.torch.model.predictor import PyTorchPredictor
  from gluonts.time_feature import get_seasonality, time_features_from_frequency_str, TimeFeature
  from gluonts.transform import Transformation, AddAgeFeature, AddObservedValuesIndicator, AddTimeFeatures, AsNumpyArray, Chain, ExpectedNumInstanceSampler, InstanceSampler, InstanceSplitter, SetField, RemoveFields, QuantizeMeanScaled, VstackFeatures, Identity, TestSplitSampler, ValidationSplitSampler
  from gluonts.maybe import unwrap_or
  from .module import WaveNet
  from .lightning_module import WaveNetLightningModule
label_desc: Use image node_id 3 for calling the WaveNetEstimator obj's underlying member method code with example usage: obj._create_instance_splitter(mode) and returns: unknown