docstr: :param inputs: The input vector fed into the encoder.
      Shape: [batch x DATE_INPUT_SIZE], type torch.int8
  :type inputs: Tensor
docstr_tok: [":","param","inputs",":","The","input","vector","fed","into","the","encoder",".","Shape",":","[","batch","x","DATE_INPUT_SIZE","]",",","type","torch.int8",":","type","inputs",":","Tensor"]
code: def forward(self, inputs: torch.Tensor) -> EncoderOutputDict:
      """
      :param inputs: The input vector fed into the encoder.
          Shape: [batch x DATE_INPUT_SIZE], type torch.int8
      :type inputs: Tensor
      """
      # ================ Embeddings ================
      input_vector = inputs.type(torch.int)
  
      scaled_year = self.year_fc(input_vector[:, 0:1].type(torch.float))
      embedded_month = self.embed_month(input_vector[:, 1:2] - 1)
      embedded_day = self.embed_day(input_vector[:, 2:3] - 1)
      embedded_weekday = self.embed_weekday(input_vector[:, 3:4])
      embedded_yearday = self.embed_yearday(input_vector[:, 4:5] - 1)
      embedded_hour = self.embed_hour(input_vector[:, 5:6])
      embedded_minute = self.embed_minute(input_vector[:, 6:7])
      embedded_second = self.embed_second(input_vector[:, 7:8])
      periodic_second_of_day = torch_utils.periodic(
          input_vector[:, 8:9].type(torch.float), 86400
      )
  
      hidden = torch.cat(
          [
              scaled_year,
              embedded_month,
              embedded_day,
              embedded_weekday,
              embedded_yearday,
              embedded_hour,
              embedded_minute,
              embedded_second,
              periodic_second_of_day,
          ],
          dim=1,
      )
  
      # ================ FC Stack ================
      # logger.debug('  flatten hidden: {0}'.format(hidden))
  
      hidden = self.fc_stack(hidden)
      return {ENCODER_OUTPUT: hidden}
  
imports: import logging
  from typing import Dict, List, Optional, Type
  import torch
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.constants import DATE, ENCODER_OUTPUT
  from ludwig.encoders.base import Encoder
  from ludwig.encoders.registry import register_encoder
  from ludwig.encoders.types import EncoderOutputDict
  from ludwig.modules.embedding_modules import Embed
  from ludwig.modules.fully_connected_modules import FCStack
  from ludwig.schema.encoders.base import BaseEncoderConfig
  from ludwig.schema.encoders.date_encoders import DateEmbedConfig, DateWaveConfig
  from ludwig.utils import torch_utils
label_desc: Use image node_id 2 for calling the DateEmbed obj's underlying member method code with example usage: obj.forward(inputs) and returns: dict