code: def __call__(
      self,
      ds: EncodedDs,
      args: PredictionArguments = PredictionArguments(),
  ) -> pd.DataFrame:
      if args.predict_proba:
          # @TODO: depending on the target encoder, this might be enabled
          log.warning(
              "This model does not output probability estimates"
          )
  
      decoded_predictions: List[object] = []
  
      for X, _ in ds:
          decoded_prediction = self.target_encoder.decode(
              torch.unsqueeze(X, 0)
          )
          decoded_predictions.extend(decoded_prediction)
  
      ydf = pd.DataFrame({"prediction": decoded_predictions})
      return ydf
  
file_path: lightwood/lightwood/mixer/unit.py
imports: from typing import List, Optional
  import torch
  import pandas
  from lightwood.helpers.log import log
  from lightwood.mixer.base import BaseMixer
  from lightwood.encoder.base import BaseEncoder
  from lightwood.data.encoded_ds import EncodedDs
  from lightwood.api.types import PredictionArguments
label_desc: Use image node_id 4 for calling the Unit obj's underlying member method code with example usage: obj.__call__(ds, args) and returns: ydf