code: def __init__(
      self,
      output_feature_config: Union[TimeseriesOutputFeatureConfig, Dict],
      output_features: Dict[str, OutputFeature],
      **kwargs,
  ):
      self.horizon = output_feature_config.horizon
      super().__init__(output_feature_config, output_features, **kwargs)
      output_feature_config.decoder.output_size = self.horizon
  
      self.decoder_obj = self.initialize_decoder(
          output_feature_config.decoder
      )
      self._setup_loss()
      self._setup_metrics()
  
imports: import logging
  from typing import Dict, List, TYPE_CHECKING, Union
  import numpy
  import torch
  from ludwig.constants import COLUMN, HIDDEN, LOGITS, NAME, PREDICTIONS, PROC_COLUMN, TIMESERIES
  from ludwig.features.base_feature import BaseFeatureMixin, OutputFeature, PredictModule
  from ludwig.features.sequence_feature import SequenceInputFeature
  from ludwig.features.vector_feature import _VectorPostprocessing, _VectorPredict
  from ludwig.schema.features.timeseries_feature import TimeseriesInputFeatureConfig, TimeseriesOutputFeatureConfig
  from ludwig.types import FeatureMetadataDict, ModelConfigDict, PreprocessingConfigDict, TrainingSetMetadataDict
  from ludwig.utils.tokenizers import get_tokenizer_from_registry, TORCHSCRIPT_COMPATIBLE_TOKENIZERS
  from ludwig.utils.types import Series, TorchscriptPreprocessingInput
label_desc: Use image node_id 1 to create a new TimeseriesOutputFeature object from inherited base classes: TimeseriesFeatureMixin, OutputFeature with example: obj = TimeseriesOutputFeature(output_feature_config, output_features)