code: def convert_to_numpy_array(
      data: Union[pd.Series, pd.DataFrame, np.ndarray, torch.Tensor]
  ) -> np.ndarray:
      if isinstance(data, pd.Series) or isinstance(data, pd.DataFrame):
          return data.to_numpy()
      elif isinstance(data, torch.Tensor):
          return data.cpu().numpy()
      else:
          return np.array(data)
  
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 1 for calling a global function with example usage: convert_to_numpy_array(data) and returns: data, data, np