docstr: Predict interface.
  
  Parameters:
      test_data (Union[str, DataFrame]): The data to predict, which can be a FATE DataFrame containing the data, or a string path representing the bound data.Test data is Optional on the server side.
      output_dir (str, optional): The path to the directory where the trained model should be saved. If this class is running in the fate pipeline, this path will provided by FATE framework.
      saved_model_path (str, optional): The path to the saved model that should be loaded before training starts.If this class is running in the fate pipeline, this path will provided by FATE framework.
docstr_tok: ["Predict","interface",".","Parameters",":","test_data","(","Union","[","str",",","DataFrame","]",")",":","The","data","to","predict",",","which","can","be","a","FATE","DataFrame","containing","the","data",",","or","a","string","path","representing","the","bound","data.Test","data","is","Optional","on","the","server","side",".","output_dir","(","str",",","optional",")",":","The","path","to","the","directory","where","the","trained","model","should","be","saved",".","If","this","class","is","running","in","the","fate","pipeline",",","this","path","will","provided","by","FATE","framework",".","saved_model_path","(","str",",","optional",")",":","The","path","to","the","saved","model","that","should","be","loaded","before","training","starts.If","this","class","is","running","in","the","fate","pipeline",",","this","path","will","provided","by","FATE","framework","."]
code: def predict(
      self,
      test_data: Optional[Union[str, DataFrame]] = None,
      output_dir: str = None,
      saved_model_path: str = None,
  ) -> DataFrame:
      """
      Predict interface.
  
      Parameters:
          test_data (Union[str, DataFrame]): The data to predict, which can be a FATE DataFrame containing the data, or a string path representing the bound data.Test data is Optional on the server side.
          output_dir (str, optional): The path to the directory where the trained model should be saved. If this class is running in the fate pipeline, this path will provided by FATE framework.
          saved_model_path (str, optional): The path to the saved model that should be loaded before training starts.If this class is running in the fate pipeline, this path will provided by FATE framework.
      """
  
imports: import os
  import torch
  import torch
  import logging
  import numpy
  from torch import optim, nn
  import pandas
  from typing import Literal, Type, Callable
  from fate.ml.nn.trainer.trainer_base import TrainingArguments
  from fate.components.core import Role
  from fate.arch import Context
  from typing import Optional, Union
  from transformers.trainer_utils import PredictionOutput
  from fate.arch.dataframe._dataframe import DataFrame
  from fate.components.components.utils import consts
  from torch.optim.lr_scheduler import _LRScheduler
  from fate.ml.utils.predict_tools import to_dist_df, array_to_predict_df
  from fate.ml.utils.predict_tools import BINARY, MULTI, REGRESSION, OTHER, LABEL, PREDICT_SCORE
  from fate.components.components.nn.loader import Loader
label_desc: Use image node_id 13 for calling the NNRunner obj's underlying member method code with example usage: obj.predict(test_data, output_dir, saved_model_path) without return types