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

# Image transformer

> Replaces each declared image column of a DataFrame by numeric features.

<div className="python-reference-heading">
  <h2 id="image-image-transformer-imagetransformer">
    `ImageTransformer`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-extensions/blob/840c15a1848a986b39c85bc17efc61e0e377f983/src/tabpfn_extensions/image/image_transformer.py#L35" aria-label="View source for ImageTransformer"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Replaces each declared image column of a DataFrame by numeric features.

```python theme={null}
ImageTransformer(
    image_features_indices: Sequence[int],
    *,
    n_components: int = DEFAULT_N_COMPONENTS,
    device: Any = "auto",
    batch_size: int = DEFAULT_BATCH_SIZE,
)
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="image-image-transformer-imagetransformer--image-features-indices" /><code className="python-reference-parameter">image\_<wbr />features\_<wbr />indices</code> | <code className="python-reference-type">Sequence\[int]</code> | Required | Positions of the image columns in `X`. Such a column holds one image per cell, as a base64 string, the image file's path or bytes, or a PIL image, so its dtype is object or string. |
  | <span id="image-image-transformer-imagetransformer--n-components" /><code className="python-reference-parameter">n\_<wbr />components</code> | <code className="python-reference-type">int</code> | `DEFAULT_N_COMPONENTS` | Features an image column is expanded into. |
  | <span id="image-image-transformer-imagetransformer--device" /><code className="python-reference-parameter">device</code> | <code className="python-reference-type">Any</code> | `"auto"` | Where the encoder runs, as TabPFN's `device` argument. |
  | <span id="image-image-transformer-imagetransformer--batch-size" /><code className="python-reference-parameter">batch\_<wbr />size</code> | <code className="python-reference-type">int</code> | `DEFAULT_BATCH_SIZE` | Images per encoder forward pass. |
</div>

**Attributes**

| Attribute | Type | Description |
| - | - | - |
| `reducers_` | <code className="python-reference-type">dict\[int, Pipeline]</code> | Input position -> the column's fitted scaler and PCA. |
| `feature_names_in_` | <code className="python-reference-type"><a href="https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html">np.ndarray</a></code> | Labels of the frame [`fit`](/api-reference/python/tabpfn-extensions/image/transformer#image-image-transformer-imagetransformer-fit) saw, as strings. |

***

<div className="python-reference-heading">
  <h2 id="image-image-transformer-imagetransformer-fit">
    `ImageTransformer.fit`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-extensions/blob/840c15a1848a986b39c85bc17efc61e0e377f983/src/tabpfn_extensions/image/image_transformer.py#L68" aria-label="View source for ImageTransformer.fit"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Fit one scaler and PCA per declared column; `y` is ignored.

```python theme={null}
ImageTransformer.fit(
    X: pd.DataFrame,
    y: Any = None,
) -> ImageTransformer
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="image-image-transformer-imagetransformer-fit--x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type"><a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html">pd.Data<wbr />Frame</a></code> | Required | — |
  | <span id="image-image-transformer-imagetransformer-fit--y" /><code className="python-reference-parameter">y</code> | <code className="python-reference-type">Any</code> | `None` | — |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="/api-reference/python/tabpfn-extensions/image/transformer#image-image-transformer-imagetransformer">Image<wbr />Transformer</a></code> | — |
</div>

***

<div className="python-reference-heading">
  <h2 id="image-image-transformer-imagetransformer-fit-transform">
    `ImageTransformer.fit_transform`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-extensions/blob/840c15a1848a986b39c85bc17efc61e0e377f983/src/tabpfn_extensions/image/image_transformer.py#L73" aria-label="View source for ImageTransformer.fit_transform"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Fit every declared column and return the expanded frame.

```python theme={null}
ImageTransformer.fit_transform(
    X: pd.DataFrame,
    y: Any = None,
    **fit_params: Any,
) -> pd.DataFrame
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="image-image-transformer-imagetransformer-fit-transform--x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type"><a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html">pd.Data<wbr />Frame</a></code> | Required | — |
  | <span id="image-image-transformer-imagetransformer-fit-transform--y" /><code className="python-reference-parameter">y</code> | <code className="python-reference-type">Any</code> | `None` | — |
  | <span id="image-image-transformer-imagetransformer-fit-transform--fit-params" /><code className="python-reference-parameter">\*\*fit\_<wbr />params</code> | <code className="python-reference-type">Any</code> | — | — |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html">pd.Data<wbr />Frame</a></code> | — |
</div>

***

<div className="python-reference-heading">
  <h2 id="image-image-transformer-imagetransformer-get-feature-names-out">
    `ImageTransformer.get_feature_names_out`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-extensions/blob/840c15a1848a986b39c85bc17efc61e0e377f983/src/tabpfn_extensions/image/image_transformer.py#L109" aria-label="View source for ImageTransformer.get_feature_names_out"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

The kept columns' labels, then the image features', as an object array.

```python theme={null}
ImageTransformer.get_feature_names_out(
    input_features: Any = None,
) -> np.ndarray
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="image-image-transformer-imagetransformer-get-feature-names-out--input-features" /><code className="python-reference-parameter">input\_<wbr />features</code> | <code className="python-reference-type">Any</code> | `None` | — |
</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="image-image-transformer-imagetransformer-output-indices">
    `ImageTransformer.output_indices`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-extensions/blob/840c15a1848a986b39c85bc17efc61e0e377f983/src/tabpfn_extensions/image/image_transformer.py#L118" aria-label="View source for ImageTransformer.output_indices"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Where the input positions `indices` sit once the image columns moved.

```python theme={null}
ImageTransformer.output_indices(
    indices: Sequence[int] | None,
    *,
    n_columns: int,
) -> list[int] | None
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="image-image-transformer-imagetransformer-output-indices--indices" /><code className="python-reference-parameter">indices</code> | <code className="python-reference-type">Sequence\[int] \| None</code> | Required | Positions in a frame of `n_columns` columns; `None` stays `None`. |
  | <span id="image-image-transformer-imagetransformer-output-indices--n-columns" /><code className="python-reference-parameter">n\_<wbr />columns</code> | <code className="python-reference-type">int</code> | Required | The width of that frame. |
</div>

**Raises**

`ValueError`

If one of them is a declared image column.

**Returns**

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

***

<div className="python-reference-heading">
  <h2 id="image-image-transformer-imagetransformer-transform">
    `ImageTransformer.transform`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-extensions/blob/840c15a1848a986b39c85bc17efc61e0e377f983/src/tabpfn_extensions/image/image_transformer.py#L98" aria-label="View source for ImageTransformer.transform"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Replace the declared columns of `X` by the features fit at training.

```python theme={null}
ImageTransformer.transform(
    X: pd.DataFrame,
) -> pd.DataFrame
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="image-image-transformer-imagetransformer-transform--x" /><code className="python-reference-parameter">X</code> | <code className="python-reference-type"><a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html">pd.Data<wbr />Frame</a></code> | Required | — |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html">pd.Data<wbr />Frame</a></code> | — |
</div>

***

<div className="python-reference-heading">
  <h2 id="image-gatedencodererror">
    `GatedEncoderError`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-extensions/blob/840c15a1848a986b39c85bc17efc61e0e377f983/src/tabpfn_extensions/image/_embeddings.py#L34" aria-label="View source for GatedEncoderError"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

The encoder's weights are gated on the Hub and this process may not read them.

```python theme={null}
GatedEncoderError()
```

***

<div className="python-reference-heading">
  <h2 id="image-image-to-bytes">
    `image_to_bytes`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/tabpfn-extensions/blob/840c15a1848a986b39c85bc17efc61e0e377f983/src/tabpfn_extensions/image/_preprocessing.py#L81" aria-label="View source for image_to_bytes"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

A PIL image encoded as an image file, the form a DataFrame cell takes.

```python theme={null}
image_to_bytes(
    image: Image,
    format: str = "PNG",
) -> bytes
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="image-image-to-bytes--image" /><code className="python-reference-parameter">image</code> | <code className="python-reference-type">Image</code> | Required | — |
  | <span id="image-image-to-bytes--format" /><code className="python-reference-parameter">format</code> | <code className="python-reference-type">str</code> | `"PNG"` | — |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type">bytes</code> | — |
</div>


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