class_docstr: PyTorch neural network models for classification/regression with tabular data.
class_docstr_tok: ["PyTorch","neural","network","models","for","classification\/regression","with","tabular","data","."]
docstr: To align predict with abstract_model API.
  Preprocess here only refers to feature processing steps done by all AbstractModel objects,
  not tabularNN-specific preprocessing steps.
  If X is not DataFrame but instead TabularNNDataset object, we can still produce predictions,
  but cannot use preprocess in this case (needs to be already processed).
docstr_tok: ["To","align","predict","with","abstract_model","API",".","Preprocess","here","only","refers","to","feature","processing","steps","done","by","all","AbstractModel","objects",",","not","tabularNN-specific","preprocessing","steps",".","If","X","is","not","DataFrame","but","instead","TabularNNDataset","object",",","we","can","still","produce","predictions",",","but","can","not","use","preprocess","in","this","case","(","needs","to","be","already","processed",")","."]
code: def _predict_proba(self, X, **kwargs):
      """To align predict with abstract_model API.
      Preprocess here only refers to feature processing steps done by all AbstractModel objects,
      not tabularNN-specific preprocessing steps.
      If X is not DataFrame but instead TabularNNDataset object, we can still produce predictions,
      but cannot use preprocess in this case (needs to be already processed).
      """
      from .tabular_torch_dataset import TabularTorchDataset
  
      if isinstance(X, TabularTorchDataset):
          return self._predict_tabular_data(new_data=X, process=False)
      elif isinstance(X, pd.DataFrame):
          X = self.preprocess(X, **kwargs)
          return self._predict_tabular_data(new_data=X, process=True)
      else:
          raise ValueError(
              "X must be of type pd.DataFrame or TabularTorchDataset, not type: %s"
              % type(X)
          )
  
imports: import json
  import logging
  import os
  import random
  import time
  import warnings
  from typing import Dict, Union
  import numpy
  import pandas
  from autogluon.common.features.types import R_BOOL, R_CATEGORY, R_FLOAT, R_INT, S_TEXT_AS_CATEGORY, S_TEXT_NGRAM
  from autogluon.common.utils.pandas_utils import get_approximate_df_mem_usage
  from autogluon.common.utils.resource_utils import ResourceManager
  from autogluon.common.utils.try_import import try_import_torch
  from autogluon.core.constants import BINARY, MULTICLASS, QUANTILE, REGRESSION, SOFTCLASS
  from autogluon.core.hpo.constants import RAY_BACKEND
  from autogluon.core.models.abstract.abstract_nn_model import AbstractNeuralNetworkModel
  from autogluon.core.utils.exceptions import TimeLimitExceeded
  from ..compilers.native import TabularNeuralNetTorchNativeCompiler
  from ..compilers.onnx import TabularNeuralNetTorchOnnxCompiler
  from ..hyperparameters.parameters import get_default_param
  from ..hyperparameters.searchspaces import get_default_searchspace
  from ..utils.data_preprocessor import create_preprocessor, get_feature_arraycol_map, get_feature_type_map
  from ..utils.nn_architecture_utils import infer_y_range
label_desc: Use image node_id 13 for calling the TabularNeuralNetTorchModel obj's underlying member method code with example usage: obj._predict_proba(X) and returns: self, self