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","."]
code: def _generate_datasets(self, X, y, params, X_val=None, y_val=None):
      from .tabular_torch_dataset import TabularTorchDataset
  
      impute_strategy = params["proc.impute_strategy"]
      max_category_levels = params["proc.max_category_levels"]
      skew_threshold = params["proc.skew_threshold"]
      embed_min_categories = params["proc.embed_min_categories"]
      use_ngram_features = params["use_ngram_features"]
  
      if isinstance(X, TabularTorchDataset):
          train_dataset = X
      else:
          X = self.preprocess(X)
          train_dataset = self._process_train_data(
              df=X,
              labels=y,
              impute_strategy=impute_strategy,
              max_category_levels=max_category_levels,
              skew_threshold=skew_threshold,
              embed_min_categories=embed_min_categories,
              use_ngram_features=use_ngram_features,
          )
      if X_val is not None:
          if isinstance(X_val, TabularTorchDataset):
              val_dataset = X_val
          else:
              X_val = self.preprocess(X_val)
              val_dataset = self._process_test_data(
                  df=X_val, labels=y_val
              )
      else:
          val_dataset = None
      return train_dataset, val_dataset
  
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 15 for calling the TabularNeuralNetTorchModel obj's underlying member method code with example usage: obj._generate_datasets(X, y, params, X_val, y_val) and returns: train_dataset,  val_dataset