code: def __init__(
      self,
      c_in,
      exog_input_size,
      hidden_size,
      pos_embedding=True,
      dropout=0.1,
  ):
      super(DataEmbedding, self).__init__()
  
      self.value_embedding = TokenEmbedding(
          c_in=c_in, hidden_size=hidden_size
      )
  
      if pos_embedding:
          self.position_embedding = PositionalEmbedding(
              hidden_size=hidden_size
          )
      else:
          self.position_embedding = None
  
      if exog_input_size > 0:
          self.temporal_embedding = TimeFeatureEmbedding(
              input_size=exog_input_size, hidden_size=hidden_size
          )
      else:
          self.temporal_embedding = None
  
      self.dropout = nn.Dropout(p=dropout)
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new DataEmbedding object from inherited base classes: nn with example: obj = DataEmbedding(c_in, exog_input_size, hidden_size, pos_embedding, dropout)