class_docstr: Base class for all encoders.
  
  An encoder should return encoded representations of any columnar data.
  The procedure for this is defined inside the `encode()` method.
  
  If this encoder is expected to handle an output column, then it also needs to implement the respective `decode()` method that handles the inverse transformation from encoded representations to the final prediction in the original column space.
  
  For encoders that learn representations (as opposed to rule-based), the `prepare()` method will handle all learning logic.
  
  The `to()` method is used to move PyTorch-based encoders to and from a GPU.
  
  :param  is_target: Whether the data to encode is the target, as per the problem definition.
  :param is_timeseries_encoder: Whether encoder represents sequential/time-series data. Lightwood must provide specific treatment for this kind of encoder
  :param is_trainable_encoder: Whether the encoder must return learned representations. Lightwood checks whether this flag is present in order to pass data to the feature representation via the ``prepare`` statement. 
  
  Class Attributes:
  - is_prepared: Internal flag to signal that the `prepare()` method has been successfully executed.
  - is_nn_encoder: Whether the encoder is neural network-based.
  - dependencies: list of additional columns that the encoder might need to encode.
  - output_size: length of each encoding tensor for a single data point.
docstr: Given an encoded representation, returns the decoded value. Decoded values may not exist for all encoders (ex: rich text, audio, etc.)
  
  :param encoded_data: The input representation in encoded format
  
  :returns: The decoded representation of data, per column, in the original data-type presented.
docstr_tok: ["Given","an","encoded","representation",",","returns","the","decoded","value",".","Decoded","values","may","not","exist","for","all","encoders","(","ex",":","rich","text",",","audio",",","etc",".",")",":","param","encoded_data",":","The","input","representation","in","encoded","format",":","returns",":","The","decoded","representation","of","data",",","per","column",",","in","the","original","data-type","presented","."]
code: def decode(self, encoded_data: torch.Tensor) -> List[object]:
      """
      Given an encoded representation, returns the decoded value. Decoded values may not exist for all encoders (ex: rich text, audio, etc.)
  
      :param encoded_data: The input representation in encoded format
  
      :returns: The decoded representation of data, per column, in the original data-type presented.
      """  # noqa
      raise NotImplementedError
  
file_path: lightwood/lightwood/encoder/base.py
imports: from typing import List, Iterable
  import torch
label_desc: Use image node_id 4 for calling the BaseEncoder obj's underlying member method code with example usage: obj.decode(encoded_data) without return types