class_docstr: Predictors load models from checkpoints to perform inference.
  
  .. note::
      The base ``Predictor`` class cannot be instantiated directly. Only one of
      its subclasses can be used.
  
  **How does a Predictor work?**
  
  Predictors expose a ``predict`` method that accepts an input batch of type
  ``DataBatchType`` and outputs predictions of the same type as the input batch.
  
  When the ``predict`` method is called the following occurs:
  
  - The input batch is converted into a pandas DataFrame. Tensor input (like a
    ``np.ndarray``) will be converted into a single column Pandas Dataframe.
  - If there is a :ref:`Preprocessor <preprocessor-ref>` saved in the provided
    :class:`Checkpoint <ray.train.Checkpoint>`, the preprocessor will be used to
    transform the DataFrame.
  - The transformed DataFrame will be passed to the model for inference (via the
    ``predictor._predict_pandas`` method).
  - The predictions will be outputted by ``predict`` in the same type as the
    original input.
  
  **How do I create a new Predictor?**
  
  To implement a new Predictor for your particular framework, you should subclass
  the base ``Predictor`` and implement the following two methods:
  
  1. ``_predict_pandas``: Given a pandas.DataFrame input, return a
     pandas.DataFrame containing predictions.
  2. ``from_checkpoint``: Logic for creating a Predictor from a
     :class:`Checkpoint <ray.train.Checkpoint>`.
  3. Optionally ``_predict_numpy`` for better performance when working with
     tensor data to avoid extra copies from Pandas conversions.
docstr: Enable automatic tensor column casting.
  
  If this is called on a predictor, the predictor will cast tensor columns to
  NumPy ndarrays in the input to the preprocessors and cast tensor columns back to
  the tensor extension type in the prediction outputs.
docstr_tok: ["Enable","automatic","tensor","column","casting",".","If","this","is","called","on","a","predictor",",","the","predictor","will","cast","tensor","columns","to","NumPy","ndarrays","in","the","input","to","the","preprocessors","and","cast","tensor","columns","back","to","the","tensor","extension","type","in","the","prediction","outputs","."]
code: def _set_cast_tensor_columns(self):
      """Enable automatic tensor column casting.
  
      If this is called on a predictor, the predictor will cast tensor columns to
      NumPy ndarrays in the input to the preprocessors and cast tensor columns back to
      the tensor extension type in the prediction outputs.
      """
      self._cast_tensor_columns = True
  
imports: import abc
  from typing import Callable, Dict, Optional, Type, Union
  import numpy
  import pandas
  from ray.air.data_batch_type import DataBatchType
  from ray.air.util.data_batch_conversion import BatchFormat, _convert_batch_type_to_numpy, _convert_batch_type_to_pandas
  from ray.data import Preprocessor
  from ray.train import Checkpoint
  from ray.util.annotations import DeveloperAPI, PublicAPI
label_desc: Use image node_id 8 for calling the Predictor obj's underlying member method code with example usage: obj._set_cast_tensor_columns() without return types