class_docstr: MultimodalPredictor that only uses image features.
  Currently only supports 1 image column, with 1 image per sample.
  Additionally has special null image handling to improve performance in the presence of null images (aka image path of '')
      Note: null handling has not been compared to the built-in null handling of MultimodalPredictor yet.
code: def _predict_proba(self, X, **kwargs):
      X = self.preprocess(X, **kwargs)
      pred_method = (
          self.model.predict_proba
          if self._has_predict_proba
          else self.model.predict
      )
      # TODO: Add option to crash if null is present for faster predict_proba
      null_indices = X[self._image_col_name] == ""
      if null_indices.sum() > 0:
          if self.num_classes is None:
              y_pred_proba = np.zeros(len(X))
          else:
              y_pred_proba = np.zeros((len(X), self.num_classes))
          X = X.reset_index(drop=True)
          null_indices = X[self._image_col_name] == ""
          X = X[~null_indices]
          null_indices_rows = list(null_indices[null_indices].index)
          non_null_indices_rows = list(
              null_indices[~null_indices].index
          )
          y_pred_proba[null_indices_rows] = self._dummy_pred_proba
          y_pred_proba[non_null_indices_rows] = pred_method(
              X, as_pandas=False
          )
      else:
          y_pred_proba = pred_method(X, as_pandas=False)
      return self._convert_proba_to_unified_form(y_pred_proba)
  
file_path: autogluon/tabular/src/autogluon/tabular/models/image_prediction/image_predictor.py
imports: import logging
  import numpy
  import pandas
  from autogluon.common.features.types import R_OBJECT, S_IMAGE_PATH
  from autogluon.core.constants import BINARY, MULTICLASS, QUANTILE, REGRESSION, SOFTCLASS
  from ..automm.automm_model import MultiModalPredictorModel
label_desc: Use image node_id 6 for calling the ImagePredictorModel obj's underlying member method code with example usage: obj._predict_proba(X) and returns: self