class_docstr: The base model from the paper https://arxiv.org/abs/2009.14379 by Iwata and Kumagai.
  Differences are quantile prediction and (optionally) longer prediction window.
code: def __init__(self, config: IwataKumagaiEcDcConfig):
      Configurable.__init__(self, config)
      EncoderDecoderMetaModel.__init__(
          self,
          feature_extractor=IdentityFeatureExtractor(),
          supps_enc=LSTMSupportSetEncoder(
              input_size=1,
              hidden_size=config.supps_out_channels,
              num_layers=config.lstm_num_layers,
              bidirectional=config.supps_bidirectional,
          ),
          query_enc=LSTMQueryEncoder(
              input_size=1,
              num_layers=config.lstm_num_layers,
              hidden_size=config.query_out_channels,
          ),
          attention=MultiHeadSupportSetQueryAttention(
              supps_size=config.supps_out_channels
              * (1 + config.supps_bidirectional),
              q_size=config.query_out_channels,
              num_heads=config.num_heads,
          ),
          decoder=FeedForwardQuantileDecoder(
              embed_size=config.query_out_channels,
              q_size=config.query_out_channels,
              hidden_size=config.decoder_hidden_size,
              prediction_length=config.prediction_length,
              num_quantiles=len(config.quantiles),
          ),
      )
  
imports: from typing import List
  import torch
  from meta.models.EcDc.components import CausalCNNEncoder
  from lightkit.nn import Configurable
  from dataclasses import dataclass, field
  from meta.models.registry import register_model
  from meta.data.batch import SeriesBatch
  from meta.models.model import MetaModel
  from .components import FeatureExtractor, SupportSetEncoder, QueryEncoder, SupportSetQueryAttention, Decoder, TcnQueryEncoder, IdentityFeatureExtractor, LSTMSupportSetEncoder, LSTMQueryEncoder, FeedForwardQuantileDecoder, MultiHeadSupportSetQueryAttention, CNNSupportSetEncoder, TcnSupportSetEncoder
label_desc: Use image node_id 1 to create a new IwataKumagaiEcDc object from inherited base classes: EncoderDecoderMetaModel, Configurable with example: obj = IwataKumagaiEcDc(config)