docstr: :param inputs: The inputs fed into the encoder.
         Shape: [batch x 1], type torch.int32
  
  :param return: embeddings of shape [batch x embed size], type torch.float32
docstr_tok: [":","param","inputs",":","The","inputs","fed","into","the","encoder",".","Shape",":","[","batch","x","1","]",",","type","torch.int32",":","param","return",":","embeddings","of","shape","[","batch","x","embed","size","]",",","type","torch.float32"]
code: def forward(self, inputs: torch.Tensor) -> EncoderOutputDict:
      """
      :param inputs: The inputs fed into the encoder.
             Shape: [batch x 1], type torch.int32
  
      :param return: embeddings of shape [batch x embed size], type torch.float32
      """
      embedded = self.embed(inputs)
      return {ENCODER_OUTPUT: embedded}
  
imports: import logging
  from typing import Dict, List, Optional, Type, Union
  import torch
  from torch import nn
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.constants import CATEGORY, 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.schema.encoders.base import BaseEncoderConfig
  from ludwig.schema.encoders.category_encoders import CategoricalEmbedConfig, CategoricalOneHotEncoderConfig, CategoricalPassthroughEncoderConfig, CategoricalSparseConfig
label_desc: Use image node_id 2 for calling the CategoricalEmbedEncoder obj's underlying member method code with example usage: obj.forward(inputs) and returns: dict