> ## 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.

# Model selection and persistence

> Select model versions and save or restore a hosted regressor.

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

<div className="python-reference-heading">
  <h2 id="list-available-models">
    `TabPFNRegressor.list_available_models`
  </h2>

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

Return the model names accepted as `model_path`.

```python theme={null}
TabPFNRegressor.list_available_models() -> list[str]
```

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type">list\[str]</code> | — |
</div>

***

<div className="python-reference-heading">
  <h2 id="create-default-for-version">
    `TabPFNRegressor.create_default_for_version`
  </h2>

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

Construct an estimator that uses the given version of the model.

Any kwargs will override the default settings, except for `model_path`.

```python theme={null}
TabPFNRegressor.create_default_for_version(
    version: ModelVersion | str,
    **overrides,
) -> Self
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="create-default-for-version-version" /><code className="python-reference-parameter">version</code> | <code className="python-reference-type"><a href="/api-reference/python/tabpfn-client/configuration#modelversion">Model<wbr />Version</a> \| str</code> | Required | The model version to use. |
  | <span id="create-default-for-version-overrides" /><code className="python-reference-parameter">\*\*overrides</code> | —<br /><a href="/api-reference/python/tabpfn-client/regressor/configuration#constructor"><code>TabPFNRegressor</code> options</a> | — | Constructor arguments other than `model_path`. |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="/api-reference/python/tabpfn-client/regressor/configuration#constructor">Self</a></code> | The constructed estimator. |
</div>

**Raises**

`ValueError`

If `version` is not a known model version.

***

<div className="python-reference-heading">
  <h2 id="save-model">
    `TabPFNRegressor.save_model`
  </h2>

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

Save the fitted model so it can be loaded later without re-fitting.

The fit itself lives on the TabPFN server; what is saved is a small,
human-readable record: the id the server assigned to the fit
(`model_id_`), the estimator's hyperparameters, a classifier's class
labels and the training-set size. No training data is included.

[`load_model()`](/api-reference/python/tabpfn-client/regressor/model-selection-and-persistence#load-model) turns the record back into a fitted estimator, in a
later run or on another machine. Fitted models are only visible to the
account that created them, so the loading process has to authenticate
with the same account, and they stay usable for as long as the training
data remains on the server (see [`UserDataClient`](/api-reference/python/tabpfn-client/user-data#user-data-client) to delete it).

```python theme={null}
TabPFNRegressor.save_model(
    path: str | Path | None = None,
) -> dict[str, Any]
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="save-model-path" /><code className="python-reference-parameter">path</code> | <code className="python-reference-type">str \| <a href="https://docs.python.org/3/library/pathlib.html#pathlib.Path">Path</a> \| None</code> | `None` | Where to write the record as JSON. Nothing is written when omitted. |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type">dict\[str, Any]</code> | The record as a JSON-serialisable dict, whether or not `path` was given, so it can also be kept elsewhere (a database, an experiment tracker) and handed to [`load_model()`](/api-reference/python/tabpfn-client/regressor/model-selection-and-persistence#load-model) directly. |
</div>

***

<div className="python-reference-heading">
  <h2 id="load-model">
    `TabPFNRegressor.load_model`
  </h2>

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

Re-create a fitted estimator from a record written by [`save_model()`](/api-reference/python/tabpfn-client/regressor/model-selection-and-persistence#save-model).

The estimator comes back with the saved hyperparameters and fitted
state, ready to [`predict()`](/api-reference/python/tabpfn-client/regressor/fitting-and-prediction#predict) without calling [`fit()`](/api-reference/python/tabpfn-client/regressor/fitting-and-prediction#fit). No request is made
here; the first [`predict()`](/api-reference/python/tabpfn-client/regressor/fitting-and-prediction#predict) authenticates (like [`fit()`](/api-reference/python/tabpfn-client/regressor/fitting-and-prediction#fit) would) and
raises [`FittedModelNotFoundError`](/api-reference/python/tabpfn-client/exceptions#fittedmodelnotfounderror) if the server no longer has the model.

```python theme={null}
TabPFNRegressor.load_model(
    source: str | Path | dict[str, Any],
) -> Self
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="load-model-source" /><code className="python-reference-parameter">source</code> | <code className="python-reference-type">str \| <a href="https://docs.python.org/3/library/pathlib.html#pathlib.Path">Path</a> \| dict\[str, Any]</code> | Required | The path of a file written by `save_model(path)`, or the dict it returned. |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="/api-reference/python/tabpfn-client/regressor/configuration#constructor">Self</a></code> | A fitted estimator of this class. |
</div>

**Raises**

`ValueError`

If `source` is not a record written by [`save_model()`](/api-reference/python/tabpfn-client/regressor/model-selection-and-persistence#save-model),
holds a model of the other task (a regression model loaded into
a classifier), or has parameters this class does not accept,
for instance because a newer tabpfn-client saved it.


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