docstr: :param dataframe: Model input data.
  :param params: Additional parameters to pass to the model for inference.
  
  :return: Model predictions.
docstr_tok: [":","param","dataframe",":","Model","input","data",".",":","param","params",":","Additional","parameters","to","pass","to","the","model","for","inference",".",":","return",":","Model","predictions","."]
code: def predict(self, dataframe, params=None):
      """
      :param dataframe: Model input data.
      :param params: Additional parameters to pass to the model for inference.
  
      :return: Model predictions.
      """
      with tempfile.TemporaryDirectory() as tempdir:
          input_file = os.path.join(tempdir, "input.csv")
          output_file = os.path.join(tempdir, "output.csv")
          separator = "`"
          import csv
  
          sub_dataframe = dataframe[self.relevant_columns]
          sub_dataframe.to_csv(
              input_file,
              index=False,
              quoting=csv.QUOTE_NONNUMERIC,
              sep=separator,
          )
          if self.model_type == "MOJO":
              class_path = self.genmodel_jar_path
              type_parameter = "--mojo"
              model_artefact = os.path.join(self.path, self.model_file)
          else:
              class_path_separator = (
                  ";" if sys.platform == "win32" else ":"
              )
              class_path = (
                  self.genmodel_jar_path
                  + class_path_separator
                  + os.path.join(self.path, "classes")
              )
              type_parameter = "--pojo"
              model_artefact = self.model_file.replace(".class", "")
  
          java_cmd = [
              "java",
              "-cp",
              class_path,
              "-ea",
              "-Xmx12g",
              "-XX:ReservedCodeCacheSize=256m",
              "hex.genmodel.tools.PredictCsv",
              "--separator",
              separator,
              "--input",
              input_file,
              "--output",
              output_file,
              type_parameter,
              model_artefact,
              "--decimal",
          ]
          java_cmd += self.extra_prediction_args
          ret = subprocess.call(java_cmd)
          assert ret == 0, (
              "GenModel finished with return code %d." % ret
          )
          predicted = pandas.read_csv(output_file)
          predicted.index = dataframe.index
          return predicted
  
imports: import logging
  import os
  import tempfile
  import pandas
  import subprocess
  import sys
  import yaml
  import mlflow
  from mlflow import pyfunc
  from mlflow.models import Model
  from mlflow.models.model import MLMODEL_FILE_NAME
  from mlflow.models.utils import _save_example
  from mlflow.models import ModelSignature, ModelInputExample
  from mlflow.utils.environment import _CONDA_ENV_FILE_NAME, _CONSTRAINTS_FILE_NAME, _PYTHON_ENV_FILE_NAME, _REQUIREMENTS_FILE_NAME, _mlflow_conda_env, _process_conda_env, _process_pip_requirements, _PythonEnv, _validate_env_arguments
  from mlflow.utils.file_utils import write_to
  from mlflow.utils.model_utils import _get_flavor_configuration, _validate_and_copy_code_paths, _validate_and_prepare_target_save_path
  from mlflow.tracking.artifact_utils import _download_artifact_from_uri
  from mlflow.utils.requirements_utils import _get_pinned_requirement
label_desc: Use image node_id 2 for calling the _H2OModelWrapper obj's underlying member method code with example usage: obj.predict(dataframe, params) and returns: predicted