> ## Documentation Index
> Fetch the complete documentation index at: https://docs.priorlabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> TabPFN-3 and later versions support up to 1,000,000 rows, subject to feature count and checkpoint/API limits.
> For large datasets, use per-estimator subsampling, e.g. inference_config={"SUBSAMPLE_SAMPLES": 100_000}, in TabPFNClassifier or TabPFNRegressor from tabpfn or tabpfn_client.
> Pass raw pandas DataFrames to fit and predict. Categorical strings/categories, raw text, and missing feature values are handled automatically; no manual integer/one-hot encoding, imputation, scaling, or outlier removal is needed.

# SageMaker

> Use the SageMaker deployment adapters.

<Info>
  Looking for usage documentation? Check out [Classification](/capabilities/classification), [Regression](/capabilities/regression) and [KV cache](/capabilities/kv-cache).
</Info>

<div className="python-reference-heading">
  <h2 id="classifier">
    `sagemaker.TabPFNClassifier`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/sagemaker/estimator.py#L343" aria-label="View source for sagemaker.TabPFNClassifier"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

TabPFN classifier backed by a SageMaker real-time endpoint.

```python theme={null}
sagemaker.TabPFNClassifier(
    endpoint_name: str,
    region_name: Optional[str] = None,
    boto_session: Optional[Any] = None,
    model_path: str = "auto",
    n_estimators: int = 8,
    softmax_temperature: float = 0.9,
    balance_probabilities: bool = False,
    average_before_softmax: bool = False,
    ignore_pretraining_limits: bool = True,
    inference_precision: Literal["autocast", "auto"] = "auto",
    random_state: Optional[int] = 0,
    inference_config: Optional[Dict[str, Any]] = None,
    paper_version: bool = False,
    thinking_mode: bool = False,
    thinking_effort: Optional[ThinkingEffort] = None,
    thinking_timeout_s: Optional[float] = None,
    thinking_metric: Optional[str] = None,
    use_kv_cache: bool = False,
    use_async: bool = False,
    s3_bucket: Optional[str] = None,
    s3_prefix: str = "async-io",
    async_poll_interval_s: float = 2.0,
    async_timeout_s: float = 60 * 60,
    invocation_timeout_s: Optional[int] = None,
)
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="classifier-endpoint-name" /><code className="python-reference-parameter">endpoint\_<wbr />name</code> | <code className="python-reference-type">str</code> | Required | — |
  | <span id="classifier-region-name" /><code className="python-reference-parameter">region\_<wbr />name</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="classifier-boto-session" /><code className="python-reference-parameter">boto\_<wbr />session</code> | <code className="python-reference-type">Optional\[Any]</code> | `None` | — |
  | <span id="classifier-model-path" /><code className="python-reference-parameter">model\_<wbr />path</code> | <code className="python-reference-type">str</code> | `"auto"` | — |
  | <span id="classifier-n-estimators" /><code className="python-reference-parameter">n\_<wbr />estimators</code> | <code className="python-reference-type">int</code> | `8` | — |
  | <span id="classifier-softmax-temperature" /><code className="python-reference-parameter">softmax\_<wbr />temperature</code> | <code className="python-reference-type">float</code> | `0.9` | — |
  | <span id="classifier-balance-probabilities" /><code className="python-reference-parameter">balance\_<wbr />probabilities</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="classifier-average-before-softmax" /><code className="python-reference-parameter">average\_<wbr />before\_<wbr />softmax</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="classifier-ignore-pretraining-limits" /><code className="python-reference-parameter">ignore\_<wbr />pretraining\_<wbr />limits</code> | <code className="python-reference-type">bool</code> | `True` | — |
  | <span id="classifier-inference-precision" /><code className="python-reference-parameter">inference\_<wbr />precision</code> | <code className="python-reference-type">Literal\["autocast", "auto"]</code> | `"auto"` | — |
  | <span id="classifier-random-state" /><code className="python-reference-parameter">random\_<wbr />state</code> | <code className="python-reference-type">Optional\[int]</code> | `0` | — |
  | <span id="classifier-inference-config" /><code className="python-reference-parameter">inference\_<wbr />config</code> | <code className="python-reference-type">Optional\[Dict\[str, Any]]</code><br /><a href="/api-reference/python/tabpfn/inference-config#inferenceconfig"><code>InferenceConfig</code> options</a> | `None` | — |
  | <span id="classifier-paper-version" /><code className="python-reference-parameter">paper\_<wbr />version</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="classifier-thinking-mode" /><code className="python-reference-parameter">thinking\_<wbr />mode</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="classifier-thinking-effort" /><code className="python-reference-parameter">thinking\_<wbr />effort</code> | <code className="python-reference-type">Optional\[<a href="/api-reference/python/tabpfn-client/configuration#thinkingeffort">Thinking<wbr />Effort</a>]</code> | `None` | — |
  | <span id="classifier-thinking-timeout-s" /><code className="python-reference-parameter">thinking\_<wbr />timeout\_<wbr />s</code> | <code className="python-reference-type">Optional\[float]</code> | `None` | — |
  | <span id="classifier-thinking-metric" /><code className="python-reference-parameter">thinking\_<wbr />metric</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="classifier-use-kv-cache" /><code className="python-reference-parameter">use\_<wbr />kv\_<wbr />cache</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="classifier-use-async" /><code className="python-reference-parameter">use\_<wbr />async</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="classifier-s3-bucket" /><code className="python-reference-parameter">s3\_<wbr />bucket</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="classifier-s3-prefix" /><code className="python-reference-parameter">s3\_<wbr />prefix</code> | <code className="python-reference-type">str</code> | `"async-io"` | — |
  | <span id="classifier-async-poll-interval-s" /><code className="python-reference-parameter">async\_<wbr />poll\_<wbr />interval\_<wbr />s</code> | <code className="python-reference-type">float</code> | `2.0` | — |
  | <span id="classifier-async-timeout-s" /><code className="python-reference-parameter">async\_<wbr />timeout\_<wbr />s</code> | <code className="python-reference-type">float</code> | `60 * 60` | — |
  | <span id="classifier-invocation-timeout-s" /><code className="python-reference-parameter">invocation\_<wbr />timeout\_<wbr />s</code> | <code className="python-reference-type">Optional\[int]</code> | `None` | — |
</div>

**Example**

```python theme={null}
from tabpfn_client.sagemaker import TabPFNClassifier
clf = TabPFNClassifier(
    endpoint_name="tabpfn-sm-alpha-v3-thinking-001",
    region_name="us-east-1",
)
clf.fit(X_train, y_train)
clf.predict(X_test)
clf.predict_proba(X_test)
```

***

<div className="python-reference-heading">
  <h2 id="classifier-fit">
    `sagemaker.TabPFNClassifier.fit`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/sagemaker/estimator.py#L196" aria-label="View source for sagemaker.TabPFNClassifier.fit"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Store the training data; the endpoint fits on the next `predict*` call.

```python theme={null}
sagemaker.TabPFNClassifier.fit(
    X: Any,
    y: Any,
) -> "_SagemakerBase"
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="classifier-fit-x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type">Any</code> | Required | Training features. |
  | <span id="classifier-fit-y" /><code className="python-reference-parameter">y</code> | <code className="python-reference-type">Any</code> | Required | Training targets. |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type">\_Sagemaker<wbr />Base</code> | The estimator itself. |
</div>

**Raises**

`ValueError`

If `X` and `y` have different numbers of samples.

***

<div className="python-reference-heading">
  <h2 id="classifier-predict">
    `sagemaker.TabPFNClassifier.predict`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/sagemaker/estimator.py#L359" aria-label="View source for sagemaker.TabPFNClassifier.predict"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Predict class labels for `X`.

```python theme={null}
sagemaker.TabPFNClassifier.predict(
    X: Any,
) -> np.ndarray
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="classifier-predict-x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type">Any</code> | Required | — |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html">np.ndarray</a></code> | — |
</div>

***

<div className="python-reference-heading">
  <h2 id="classifier-predict-proba">
    `sagemaker.TabPFNClassifier.predict_proba`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/sagemaker/estimator.py#L364" aria-label="View source for sagemaker.TabPFNClassifier.predict_proba"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Predict class probabilities for `X`.

```python theme={null}
sagemaker.TabPFNClassifier.predict_proba(
    X: Any,
) -> np.ndarray
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="classifier-predict-proba-x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type">Any</code> | Required | — |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html">np.ndarray</a></code> | — |
</div>

***

<div className="python-reference-heading">
  <h2 id="regressor">
    `sagemaker.TabPFNRegressor`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/sagemaker/estimator.py#L370" aria-label="View source for sagemaker.TabPFNRegressor"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

TabPFN regressor backed by a SageMaker endpoint.

```python theme={null}
sagemaker.TabPFNRegressor(
    endpoint_name: str,
    region_name: Optional[str] = None,
    boto_session: Optional[Any] = None,
    model_path: str = "auto",
    n_estimators: int = 8,
    softmax_temperature: float = 0.9,
    balance_probabilities: bool = False,
    average_before_softmax: bool = False,
    ignore_pretraining_limits: bool = True,
    inference_precision: Literal["autocast", "auto"] = "auto",
    random_state: Optional[int] = 0,
    inference_config: Optional[Dict[str, Any]] = None,
    paper_version: bool = False,
    thinking_mode: bool = False,
    thinking_effort: Optional[ThinkingEffort] = None,
    thinking_timeout_s: Optional[float] = None,
    thinking_metric: Optional[str] = None,
    use_kv_cache: bool = False,
    use_async: bool = False,
    s3_bucket: Optional[str] = None,
    s3_prefix: str = "async-io",
    async_poll_interval_s: float = 2.0,
    async_timeout_s: float = 60 * 60,
    invocation_timeout_s: Optional[int] = None,
)
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="regressor-endpoint-name" /><code className="python-reference-parameter">endpoint\_<wbr />name</code> | <code className="python-reference-type">str</code> | Required | — |
  | <span id="regressor-region-name" /><code className="python-reference-parameter">region\_<wbr />name</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="regressor-boto-session" /><code className="python-reference-parameter">boto\_<wbr />session</code> | <code className="python-reference-type">Optional\[Any]</code> | `None` | — |
  | <span id="regressor-model-path" /><code className="python-reference-parameter">model\_<wbr />path</code> | <code className="python-reference-type">str</code> | `"auto"` | — |
  | <span id="regressor-n-estimators" /><code className="python-reference-parameter">n\_<wbr />estimators</code> | <code className="python-reference-type">int</code> | `8` | — |
  | <span id="regressor-softmax-temperature" /><code className="python-reference-parameter">softmax\_<wbr />temperature</code> | <code className="python-reference-type">float</code> | `0.9` | — |
  | <span id="regressor-balance-probabilities" /><code className="python-reference-parameter">balance\_<wbr />probabilities</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="regressor-average-before-softmax" /><code className="python-reference-parameter">average\_<wbr />before\_<wbr />softmax</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="regressor-ignore-pretraining-limits" /><code className="python-reference-parameter">ignore\_<wbr />pretraining\_<wbr />limits</code> | <code className="python-reference-type">bool</code> | `True` | — |
  | <span id="regressor-inference-precision" /><code className="python-reference-parameter">inference\_<wbr />precision</code> | <code className="python-reference-type">Literal\["autocast", "auto"]</code> | `"auto"` | — |
  | <span id="regressor-random-state" /><code className="python-reference-parameter">random\_<wbr />state</code> | <code className="python-reference-type">Optional\[int]</code> | `0` | — |
  | <span id="regressor-inference-config" /><code className="python-reference-parameter">inference\_<wbr />config</code> | <code className="python-reference-type">Optional\[Dict\[str, Any]]</code><br /><a href="/api-reference/python/tabpfn/inference-config#inferenceconfig"><code>InferenceConfig</code> options</a> | `None` | — |
  | <span id="regressor-paper-version" /><code className="python-reference-parameter">paper\_<wbr />version</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="regressor-thinking-mode" /><code className="python-reference-parameter">thinking\_<wbr />mode</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="regressor-thinking-effort" /><code className="python-reference-parameter">thinking\_<wbr />effort</code> | <code className="python-reference-type">Optional\[<a href="/api-reference/python/tabpfn-client/configuration#thinkingeffort">Thinking<wbr />Effort</a>]</code> | `None` | — |
  | <span id="regressor-thinking-timeout-s" /><code className="python-reference-parameter">thinking\_<wbr />timeout\_<wbr />s</code> | <code className="python-reference-type">Optional\[float]</code> | `None` | — |
  | <span id="regressor-thinking-metric" /><code className="python-reference-parameter">thinking\_<wbr />metric</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="regressor-use-kv-cache" /><code className="python-reference-parameter">use\_<wbr />kv\_<wbr />cache</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="regressor-use-async" /><code className="python-reference-parameter">use\_<wbr />async</code> | <code className="python-reference-type">bool</code> | `False` | — |
  | <span id="regressor-s3-bucket" /><code className="python-reference-parameter">s3\_<wbr />bucket</code> | <code className="python-reference-type">Optional\[str]</code> | `None` | — |
  | <span id="regressor-s3-prefix" /><code className="python-reference-parameter">s3\_<wbr />prefix</code> | <code className="python-reference-type">str</code> | `"async-io"` | — |
  | <span id="regressor-async-poll-interval-s" /><code className="python-reference-parameter">async\_<wbr />poll\_<wbr />interval\_<wbr />s</code> | <code className="python-reference-type">float</code> | `2.0` | — |
  | <span id="regressor-async-timeout-s" /><code className="python-reference-parameter">async\_<wbr />timeout\_<wbr />s</code> | <code className="python-reference-type">float</code> | `60 * 60` | — |
  | <span id="regressor-invocation-timeout-s" /><code className="python-reference-parameter">invocation\_<wbr />timeout\_<wbr />s</code> | <code className="python-reference-type">Optional\[int]</code> | `None` | — |
</div>

***

<div className="python-reference-heading">
  <h2 id="regressor-fit">
    `sagemaker.TabPFNRegressor.fit`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/sagemaker/estimator.py#L196" aria-label="View source for sagemaker.TabPFNRegressor.fit"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Store the training data; the endpoint fits on the next `predict*` call.

```python theme={null}
sagemaker.TabPFNRegressor.fit(
    X: Any,
    y: Any,
) -> "_SagemakerBase"
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="regressor-fit-x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type">Any</code> | Required | Training features. |
  | <span id="regressor-fit-y" /><code className="python-reference-parameter">y</code> | <code className="python-reference-type">Any</code> | Required | Training targets. |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type">\_Sagemaker<wbr />Base</code> | The estimator itself. |
</div>

**Raises**

`ValueError`

If `X` and `y` have different numbers of samples.

***

<div className="python-reference-heading">
  <h2 id="regressor-predict">
    `sagemaker.TabPFNRegressor.predict`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-client/blob/5f8aee56ad2a788458704c342347e9bc282cebe9/src/tabpfn_client/sagemaker/estimator.py#L375" aria-label="View source for sagemaker.TabPFNRegressor.predict"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Predict regression targets for `X`.

```python theme={null}
sagemaker.TabPFNRegressor.predict(
    X: Any,
    output_type: str = "mean",
    quantiles: Optional[list] = None,
) -> np.ndarray
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="regressor-predict-x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type">Any</code> | Required | Test features. |
  | <span id="regressor-predict-output-type" /><code className="python-reference-parameter">output\_<wbr />type</code> | <code className="python-reference-type">str</code> | `"mean"` | Which prediction to return, e.g. "mean", "median" or "quantiles". |
  | <span id="regressor-predict-quantiles" /><code className="python-reference-parameter">quantiles</code> | <code className="python-reference-type">Optional\[list]</code> | `None` | Quantile levels to compute when `output_type` is "quantiles". |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html">np.ndarray</a></code> | The endpoint's prediction as an array. |
</div>

## Scikit-learn configuration and scoring

The adapters inherit [`get_params`](https://scikit-learn.org/stable/modules/generated/sklearn.base.BaseEstimator.html#sklearn.base.BaseEstimator.get_params), [`set_params`](https://scikit-learn.org/stable/modules/generated/sklearn.base.BaseEstimator.html#sklearn.base.BaseEstimator.set_params), and the corresponding estimator mixin's `score` method. They do not inherit the main hosted client's `save_model`, `load_model`, or model-version selection methods.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.