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

# Inference configuration

> Additional configuration options for inference.

<div className="python-reference-heading">
  <h2 id="inferenceconfig">
    `InferenceConfig`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/TabPFN/blob/c70b6ef0488858d32244c52222abfc0c5be207d6/src/tabpfn/inference_config.py#L42" aria-label="View source for InferenceConfig"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Additional configuration options for inference.

Several configuration options for inference are exposed in the [`TabPFNClassifier`](/api-reference/python/tabpfn/classifier/configuration#constructor)
and [`TabPFNRegressor`](/api-reference/python/tabpfn/regressor/configuration#constructor) interfaces. The options in this class are more advanced and
not expected to be changed by the (standard) user.

Several of the preprocessing options are supported by our code for efficiency
reasons (to avoid loading TabPFN multiple times). However, these can also be
applied outside of the model interface.

This class must be serializable as it is peristed in the model checkpoints.

Do not edit the default values in this class, as this can affect the backwards
compatibility of the model checkpoints. Instead, edit [`get_default()`](/api-reference/python/tabpfn/inference-config#inferenceconfig-get-default).

**Fields**

<div className="python-reference-table">
  | Name | Type | Default | Description |
  | - | - | - | - |
  | <span id="inferenceconfig--preprocess-transforms" /><code className="python-reference-parameter">PREPROCESS\_<wbr />TRANSFORMS</code> | <code className="python-reference-type">list\[<a href="/api-reference/python/tabpfn/preprocessing/configuration#preprocessorconfig">Preprocessor<wbr />Config</a>]</code> | Required | The preprocessing applied to the data before passing it to TabPFN. See [`PreprocessorConfig`](/api-reference/python/tabpfn/preprocessing/configuration#preprocessorconfig) for options and more details. If multiple [`PreprocessorConfig`](/api-reference/python/tabpfn/preprocessing/configuration#preprocessorconfig) are provided, they are (repeatedly) applied across different estimators.<br /><br />By default, for classification, two preprocessors are applied:     1. Uses the original input data, all features transformed with a quantile         scaler, and the first n-many components of SVD transformer (whereby         n is a fract of on the number of features or samples). Categorical features         are ordinal encoded but all categories with less than 10 features are         ignored.     2. Uses the original input data, with categorical features as ordinal encoded.<br /><br />By default, for regression, two preprocessor are applied:     1. The same as for classification, with a minimal different quantile scaler.     2. The original input data power transformed and categories onehot encoded. |
  | <span id="inferenceconfig--max-unique-for-categorical-features" /><code className="python-reference-parameter">MAX\_<wbr />UNIQUE\_<wbr />FOR\_<wbr />CATEGORICAL\_<wbr />FEATURES</code> | <code className="python-reference-type">int</code> | `30` | The maximum number of unique values for a feature to be considered categorical. Otherwise, it is considered numerical. |
  | <span id="inferenceconfig--min-unique-for-numerical-features" /><code className="python-reference-parameter">MIN\_<wbr />UNIQUE\_<wbr />FOR\_<wbr />NUMERICAL\_<wbr />FEATURES</code> | <code className="python-reference-type">int</code> | `4` | The minimum number of unique values for a feature to be considered numerical. Otherwise, it is considered categorical. |
  | <span id="inferenceconfig--min-number-samples-for-categorical-inference" /><code className="python-reference-parameter">MIN\_<wbr />NUMBER\_<wbr />SAMPLES\_<wbr />FOR\_<wbr />CATEGORICAL\_<wbr />INFERENCE</code> | <code className="python-reference-type">int</code> | `100` | The minimum number of samples in the data to run our infer which features might be categorical. |
  | <span id="inferenceconfig--min-cardinality-for-text" /><code className="python-reference-parameter">MIN\_<wbr />CARDINALITY\_<wbr />FOR\_<wbr />TEXT</code> | <code className="python-reference-type">int</code> | `30` | Number of distinct values above which a string column is read as text rather than as a category. Only an undeclared column is subject to it: one listed in `categorical_features_indices`, or holding pandas' `category` dtype, is a category at any cardinality. A separate decision from [`MAX_UNIQUE_FOR_CATEGORICAL_FEATURES`](/api-reference/python/tabpfn/inference-config#inferenceconfig--max-unique-for-categorical-features), which governs numerical-vs-categorical: that one describes when a *number* is few enough to be a category, this one describes when a *string* is varied enough to be text rather than a category, and there is no reason the two should move together.<br /><br />Text is expanded into numeric features with [`TRANSFORM_TEXT`](/api-reference/python/tabpfn/inference-config#inferenceconfig--transform-text); off, it is ordinal-encoded as a high-cardinality category and `fit` warns about it. |
  | <span id="inferenceconfig--softmax-temperature" /><code className="python-reference-parameter">SOFTMAX\_<wbr />TEMPERATURE</code> | <code className="python-reference-type">float</code> | `DEFAULT_SOFTMAX_TEMPERATURE` | The temperature applied to the model's logits at predict time. Lower values make the predictions more confident, `1.0` is a no-op.<br /><br />The default is the value that shipped as the `softmax_temperature` argument of [`TabPFNClassifier`](/api-reference/python/tabpfn/classifier/configuration#constructor)/[`TabPFNRegressor`](/api-reference/python/tabpfn/regressor/configuration#constructor) before this became a config field, so checkpoints that predate the field (which is all of them up to and including the ones released with v8.5.0) keep their original behavior. Newer checkpoints are expected to store their own value and must do so explicitly.<br /><br />Setting this here overrides the checkpoint for every model in the ensemble, as does `TabPFNClassifier(softmax_temperature=...)`; naming a temperature both ways at once is rejected. With neither, the value comes from the checkpoint, and an ensemble whose checkpoints declare different temperatures is rejected too. |
  | <span id="inferenceconfig--n-estimators" /><code className="python-reference-parameter">N\_<wbr />ESTIMATORS</code> | <code className="python-reference-type">int \| Literal\["auto"]</code> | `"auto"` | How many estimators to run when the user leaves `n_estimators="auto"`.<br /><br />An estimator is one forward pass over a differently preprocessed view of the data; more of them costs proportionally more compute.<br /><br />This means exactly what the `n_estimators` argument of the estimators means, and is used in its place when the user names no count:<br />    - If an int, that many estimators run, and feature-coverage scaling never       raises it -- a checkpoint that asks for a count gets that count, the same       guarantee a user passing one gets.<br />    - If `"auto"` (the default), `DEFAULT_N_ESTIMATORS` estimators run, raised       on wide tables so every feature is seen by some estimator (see       `scale_n_estimators_for_feature_coverage`).<br /><br />The default leaves the decision where it was before this field existed, so checkpoints that predate it keep their original behavior. Newer checkpoints are expected to store a count of their own.<br /><br />Setting this here overrides the checkpoint, as does `TabPFNClassifier(n_estimators=...)`; naming a count both ways at once is rejected. With neither, the value comes from the checkpoint, and an ensemble whose checkpoints declare different counts is rejected too. |
  | <span id="inferenceconfig--transform-dates" /><code className="python-reference-parameter">TRANSFORM\_<wbr />DATES</code> | <code className="python-reference-type">bool</code> | `False` | Whether a column holding a genuine datetime dtype (`datetime64`, tz-aware, or `period`) is expanded into calendar features via `skrub.DatetimeEncoder`. Off, such a column is refused with an error naming it: cast or expand it yourself first. Only a real datetime dtype counts: a string column that merely looks like a date (e.g. "2020-01-01") is read as a plain category or text either way.<br /><br />On, the same columns have to hold datetimes at predict, in a DataFrame, and none of them may be listed in `categorical_features_indices`; each of these is refused with an error saying so rather than guessed at. The fine-tuning estimators do not run this conversion, whatever `inference_config` they are handed, so a datetime column has to be converted before fine-tuning. |
  | <span id="inferenceconfig--transform-text" /><code className="python-reference-parameter">TRANSFORM\_<wbr />TEXT</code> | <code className="python-reference-type">bool</code> | `False` | Whether a text column, a pandas `string` or pyarrow string column with more than [`MIN_CARDINALITY_FOR_TEXT`](/api-reference/python/tabpfn/inference-config#inferenceconfig--min-cardinality-for-text) distinct values, is expanded into [`TEXT_N_COMPONENTS`](/api-reference/python/tabpfn/inference-config#inferenceconfig--text-n-components) numeric features via `skrub.StringEncoder` (tf-idf over character n-grams, truncated SVD). Off, such a column is ordinal-encoded as a high-cardinality category and `fit` warns about it. An `object` column is never expanded. Not run by the fine-tuning estimators. |
  | <span id="inferenceconfig--text-n-components" /><code className="python-reference-parameter">TEXT\_<wbr />N\_<wbr />COMPONENTS</code> | <code className="python-reference-type">int</code> | `30` | Features a text column is expanded into with [`TRANSFORM_TEXT`](/api-reference/python/tabpfn/inference-config#inferenceconfig--transform-text): the leading components of a truncated SVD over its tf-idf matrix. Fewer when the column has fewer character n-grams than that. |
  | <span id="inferenceconfig--outlier-removal-std" /><code className="python-reference-parameter">OUTLIER\_<wbr />REMOVAL\_<wbr />STD</code> | <code className="python-reference-type">float \| None \| Literal\["auto"]</code> | `"auto"` | The number of standard deviations from the mean to consider a sample an outlier.<br />- If `None`, no outliers are removed.<br />- If float, the number of standard deviations from the mean to consider a sample     an outlier.<br />- If "auto", the [`OUTLIER_REMOVAL_STD`](/api-reference/python/tabpfn/inference-config#inferenceconfig--outlier-removal-std) is automatically determined.     -> 12.0 for classification and `None` for regression. |
  | <span id="inferenceconfig--feature-shift-method" /><code className="python-reference-parameter">FEATURE\_<wbr />SHIFT\_<wbr />METHOD</code> | <code className="python-reference-type">Literal\["shuffle", "rotate"] \| None</code> | `"shuffle"` | The method used to shift features during preprocessing for ensembling to emulate the effect of invariance to feature position. Without ensembling, TabPFN is not invariant to feature position due to using a transformer. Moreover, shifting features can have a positive effect on the model's performance. The options are:<br />   - If "shuffle", the features are shuffled.<br />   - If "rotate", the features are rotated (think of a ring).<br />   - If `None`, no feature shifting is done. |
  | <span id="inferenceconfig--class-shift-method" /><code className="python-reference-parameter">CLASS\_<wbr />SHIFT\_<wbr />METHOD</code> | <code className="python-reference-type">Literal\["rotate", "shuffle"] \| None</code> | `"shuffle"` | The method used to shift classes during preprocessing for ensembling to emulate the effect of invariance to class order. Without ensembling, TabPFN is not invariant to class order due to using a transformer. Shifting classes can have a positive effect on the model's performance. The options are:<br />    - If "shuffle", the classes are shuffled.<br />    - If "rotate", the classes are rotated (think of a ring).<br />    - If `None`, no class shifting is done. |
  | <span id="inferenceconfig--fingerprint-feature" /><code className="python-reference-parameter">FINGERPRINT\_<wbr />FEATURE</code> | <code className="python-reference-type">bool</code> | `True` | Whether to add a fingerprint feature to the data. The added feature is a hash of the row, counting up for duplicates. This helps TabPFN to distinguish between duplicated data points in the input data. Otherwise, duplicates would be less obvious during attention. This is expected to improve prediction performance and help with stability if the data has many sample duplicates. |
  | <span id="inferenceconfig--polynomial-features" /><code className="python-reference-parameter">POLYNOMIAL\_<wbr />FEATURES</code> | <code className="python-reference-type">Literal\["no", "all"] \| int</code> | `"no"` | The number of 2 factor polynomial features to generate and add to the original data before passing the data to TabPFN. The polynomial features are generated by multiplying the original features together, e.g., this might add a feature `x1*x2` to the features, if `x1` and `x2` are features. In  total, this can add up O(n^2) many features. Adding polynomial features can  improve predictive performance by exploiting simple feature engineering.<br />    - If "no", no polynomial features are added.<br />    - If "all", all possible polynomial features are added.<br />    - If an int, determines the maximal number of polynomial features to add to the      original data. |
  | <span id="inferenceconfig--subsample-samples" /><code className="python-reference-parameter">SUBSAMPLE\_<wbr />SAMPLES</code> | <code className="python-reference-type">int \| float \| list \| None</code> | `None` | Subsample the input data sample/row-wise before performing any preprocessing and the TabPFN forward pass.<br />    - If `None`, no subsampling is done.<br />    - If an int, the number of samples to subsample (or oversample if         [`SUBSAMPLE_SAMPLES`](/api-reference/python/tabpfn/inference-config#inferenceconfig--subsample-samples) is larger than the number of samples).<br />    - If a float, the percentage of samples to subsample.<br />    - If a list arrays of indices, the indices to subsample for each estimator.         If the length of the outer list is less than the number of estimators, the         indices are repeated for the remaining estimators. |
  | <span id="inferenceconfig--sample-subsampling-method" /><code className="python-reference-parameter">SAMPLE\_<wbr />SUBSAMPLING\_<wbr />METHOD</code> | <code className="python-reference-type">Literal\["auto", "balanced", "stratified", "majority\_downsample"]</code> | `"auto"` | How rows are drawn for each estimator when [`SUBSAMPLE_SAMPLES`](/api-reference/python/tabpfn/inference-config#inferenceconfig--subsample-samples) is an int or float. Ignored when [`SUBSAMPLE_SAMPLES`](/api-reference/python/tabpfn/inference-config#inferenceconfig--subsample-samples) is `None` or a list of explicit indices.<br />    - "balanced": Round-robin sampling from a shared shuffled pool of all rows so       each row appears approximately equally often across estimators. Ignores the       class labels.<br />    - "stratified": Preserves the class proportions of the training data in every       subsample while guaranteeing at least one row per class. Classification only.<br />    - "majority\_downsample": Groups rows by exact target value, keeps every row       outside the single most frequent group, and fills the remaining budget from       that majority group. This mode is designed for datasets with one dominant       target value. For binary classification this keeps the whole minority class       and fills up with majority rows. For regression it targets       zero-inflated or spiky targets: the repeated value is downsampled while all       other values are kept. [`SUBSAMPLE_SAMPLES`](/api-reference/python/tabpfn/inference-config#inferenceconfig--subsample-samples) must exceed the number of       non-majority rows so at least one majority row remains. If there is no unique       most frequent target value, a warning is emitted and the method falls back       to "stratified" for classification or "balanced" for regression.       Downsampling the majority shifts the target prior that the model sees: the       majority value is underrepresented in every context relative to the training       data. Predicted probabilities and regression means inherit that shift, so       the predicted level typically needs a correction, for example rescaling       regression predictions to the training mean. Rankings are unaffected. For       classification, a warning is emitted if subsampling makes the original       majority class smaller than another class.<br />    - "auto": "stratified" for classification and "balanced" for regression. |
  | <span id="inferenceconfig--enable-gpu-preprocessing" /><code className="python-reference-parameter">ENABLE\_<wbr />GPU\_<wbr />PREPROCESSING</code> | <code className="python-reference-type">bool</code> | `False` | Move quantile transform, SVD feature generation, and feature shuffling to GPU / torch.  When `True`, these operations run on the same device as the model, which can be significantly faster for large datasets (>10 k rows). When `False` (default), all preprocessing runs on CPU / sklearn as before.<br /><br />Only `quantile_uni*` transforms are accelerated (the torch quantile transformer only supports uniform output).  Other transforms stay on CPU regardless of this flag.  SVD and shuffle always move to GPU / torch when this flag is set. |
  | <span id="inferenceconfig--feature-subsampling-method" /><code className="python-reference-parameter">FEATURE\_<wbr />SUBSAMPLING\_<wbr />METHOD</code> | <code className="python-reference-type">Literal\["balanced", "random", "constant\_and\_balanced", "gini\_feature\_importance", "auto"]</code> | `"balanced"` | The method used to subsample features when the dataset has more features than max\_features\_per\_estimator. The options are:<br />    - "random": Each estimator independently draws a random subset of features.<br />    - "balanced": Round-robin sampling from a shared shuffled pool so each feature       appears approximately equally across estimators.<br />    - "constant\_and\_balanced": Always include the first N features (see       [`FEATURE_SUBSAMPLING_CONSTANT_FEATURE_COUNT`](/api-reference/python/tabpfn/inference-config#inferenceconfig--feature-subsampling-constant-feature-count)), then use balanced subsampling for       the rest.<br />    - "gini\_feature\_importance": Use LightGBM gain importance to rank features.       Always include the top-K most important features (see       [`FEATURE_SUBSAMPLING_IMPORTANCE_TOP_K_COUNT`](/api-reference/python/tabpfn/inference-config#inferenceconfig--feature-subsampling-importance-top-k-count)), fill the rest via balanced       round-robin sampling from the remaining features.<br />    - "auto": Automatically selects the method based on dataset size and whether       feature subsampling is needed. Uses "gini\_feature\_importance" when       n\_samples > AUTO\_FEATURE\_SUBSAMPLING\_IMPORTANCE\_MIN\_SAMPLES(=100\_000) and       subsampling is required (importance scoring is more accurate on larger       datasets), otherwise falls back to "balanced". |
  | <span id="inferenceconfig--feature-subsampling-constant-feature-count" /><code className="python-reference-parameter">FEATURE\_<wbr />SUBSAMPLING\_<wbr />CONSTANT\_<wbr />FEATURE\_<wbr />COUNT</code> | <code className="python-reference-type">int</code> | `50` | The number of leading features that are always included when using the 'constant\_and\_balanced' feature subsampling method. Only used when [`FEATURE_SUBSAMPLING_METHOD`](/api-reference/python/tabpfn/inference-config#inferenceconfig--feature-subsampling-method) is 'constant\_and\_balanced'. |
  | <span id="inferenceconfig--feature-subsampling-importance-top-k-count" /><code className="python-reference-parameter">FEATURE\_<wbr />SUBSAMPLING\_<wbr />IMPORTANCE\_<wbr />TOP\_<wbr />K\_<wbr />COUNT</code> | <code className="python-reference-type">int \| float \| Literal\["auto"]</code> | `"auto"` | Number of top important features always included per estimator when [`FEATURE_SUBSAMPLING_METHOD`](/api-reference/python/tabpfn/inference-config#inferenceconfig--feature-subsampling-method) is an importance-based method. The remaining budget up to max\_features\_per\_estimator is filled randomly from the remaining features.<br />    - If an int, that many features are always included.<br />    - If a float in (0, 1], resolved as ceil(value \* n\_total\_features).<br />    - If "auto", uses top-k=AUTO\_FEATURE\_SUBSAMPLING\_TOP\_K(=150) when       n\_features > AUTO\_FEATURE\_SUBSAMPLING\_TOP\_K\_MIN\_FEATURES(=200);       otherwise no importance filtering is done. |
  | <span id="inferenceconfig--regression-y-preprocess-transforms" /><code className="python-reference-parameter">REGRESSION\_<wbr />Y\_<wbr />PREPROCESS\_<wbr />TRANSFORMS</code> | <code className="python-reference-type">tuple\[str \| None, ...]</code> | `(None, "safepower")` | The preprocessing applied to the target variable before passing it to TabPFN for regression. This can be understood as scaling the target variable to better predict it. The preprocessors should be passed as a tuple/list and are then (repeatedly) used by the estimators in the ensembles.<br /><br />By default, we use no preprocessing and a power transformation (if we have more than one estimator).<br /><br />The options are:<br />    - `None`: no preprocessing is done.<br />    - One of the options from       `tabpfn.preprocessing.get_all_reshape_feature_distribution_preprocessors()` |
  | <span id="inferenceconfig--use-sklearn-16-decimal-precision" /><code className="python-reference-parameter">USE\_<wbr />SKLEARN\_<wbr />16\_<wbr />DECIMAL\_<wbr />PRECISION</code> | <code className="python-reference-type">bool</code> | `False` | Whether to round the probabilities to float 16 to match the precision of scikit-learn. This can help with reproducibility and compatibility with scikit-learn but is not recommended for general use. This is not exposed to the user or as a hyperparameter. To improve reproducibility,set `._sklearn_16_decimal_precision = True` before calling `.predict()` or `.predict_proba()`. |
  | <span id="inferenceconfig--max-number-of-classes" /><code className="python-reference-parameter">MAX\_<wbr />NUMBER\_<wbr />OF\_<wbr />CLASSES</code> | <code className="python-reference-type">int</code> | `10` | The number of classes seen during pretraining for classification. If the number of classes is larger than this number, TabPFN requires an additional step to predict for more than classes. |
  | <span id="inferenceconfig--max-number-of-features" /><code className="python-reference-parameter">MAX\_<wbr />NUMBER\_<wbr />OF\_<wbr />FEATURES</code> | <code className="python-reference-type">int</code> | `500` | The number of features that the pretraining was intended for. If the number of features is larger than this number, you may see degraded performance. Note, this is not the number of features seen by the model during pretraining but also accounts for expected generalization (i.e., length extrapolation). |
  | <span id="inferenceconfig--max-number-of-samples" /><code className="python-reference-parameter">MAX\_<wbr />NUMBER\_<wbr />OF\_<wbr />SAMPLES</code> | <code className="python-reference-type">int</code> | `10000` | The number of samples that the pretraining was intended for. If the number of samples is larger than this number, you may see degraded performance. Note, this is not the number of samples seen by the model during pretraining but also accounts for expected generalization (i.e., length extrapolation). |
  | <span id="inferenceconfig--max-cpu-samples" /><code className="python-reference-parameter">MAX\_<wbr />CPU\_<wbr />SAMPLES</code> | <code className="python-reference-type">int</code> | `1000` | The number of samples above which CPU inference is disallowed by default due to slow performance. Raise via ignore\_pretraining\_limits or the TABPFN\_ALLOW\_CPU\_LARGE\_DATASET setting. |
  | <span id="inferenceconfig--fix-nan-borders-after-target-transform" /><code className="python-reference-parameter">FIX\_<wbr />NAN\_<wbr />BORDERS\_<wbr />AFTER\_<wbr />TARGET\_<wbr />TRANSFORM</code> | <code className="python-reference-type">bool</code> | `True` | Whether to repair any borders of the bar distribution in regression that are NaN after the transformation. This can happen due to multiple reasons and should in general always be done. |
  | <span id="inferenceconfig--passthrough-inf" /><code className="python-reference-parameter">PASSTHROUGH\_<wbr />INF</code> | <code className="python-reference-type">bool</code> | `False` | Whether to pass infinite values through to the model instead of rejecting them. When `True`, +/-inf are temporarily replaced with NaN for preprocessing and restored afterwards; when `False`, infinities are rejected at input validation. |
</div>

***

<div className="python-reference-heading">
  <h2 id="inferenceconfig-override-with-user-input-and-resolve-auto">
    `InferenceConfig.override_with_user_input_and_resolve_auto`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/TabPFN/blob/c70b6ef0488858d32244c52222abfc0c5be207d6/src/tabpfn/inference_config.py#L366" aria-label="View source for InferenceConfig.override_with_user_input_and_resolve_auto"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Return a new config with fields specified in `user_config` overwritten.

```python theme={null}
InferenceConfig.override_with_user_input_and_resolve_auto(
    user_config: dict | InferenceConfig | None,
) -> InferenceConfig
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="inferenceconfig-override-with-user-input-and-resolve-auto--user-config" /><code className="python-reference-parameter">user\_<wbr />config</code> | <code className="python-reference-type">dict \| <a href="/api-reference/python/tabpfn/inference-config#inferenceconfig">Inference<wbr />Config</a> \| None</code> | Required | Config provided by the user at inference time. If a dictionary, then the keys must match attributes of     [`InferenceConfig`](/api-reference/python/tabpfn/inference-config#inferenceconfig) and will be used to override these attributes. If an [`InferenceConfig`](/api-reference/python/tabpfn/inference-config#inferenceconfig) object, then the whole config is overridden with     the values from the user config. Deprecated. If `None`, then a copy of this config is returned with no fields changed. |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="/api-reference/python/tabpfn/inference-config#inferenceconfig">Inference<wbr />Config</a></code> | — |
</div>

***

<div className="python-reference-heading">
  <h2 id="inferenceconfig-equals-ignoring-overridable-fields">
    `InferenceConfig.equals_ignoring_overridable_fields`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/TabPFN/blob/c70b6ef0488858d32244c52222abfc0c5be207d6/src/tabpfn/inference_config.py#L402" aria-label="View source for InferenceConfig.equals_ignoring_overridable_fields"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Whether this config and `other` agree on every non-overridable field.

A mismatch in one of `OVERRIDABLE_FIELDS` between the checkpoints of one
ensemble gets its own error (see
`raise_if_checkpoints_disagree_on_overridable_fields`), since the user can
resolve it by naming a value; any other mismatch is unfixable.

```python theme={null}
InferenceConfig.equals_ignoring_overridable_fields(
    other: InferenceConfig,
) -> bool
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="inferenceconfig-equals-ignoring-overridable-fields--other" /><code className="python-reference-parameter">other</code> | <code className="python-reference-type"><a href="/api-reference/python/tabpfn/inference-config#inferenceconfig">Inference<wbr />Config</a></code> | Required | — |
</div>

**Returns**

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

***

<div className="python-reference-heading">
  <h2 id="inferenceconfig-get-resolved-outlier-removal-std">
    `InferenceConfig.get_resolved_outlier_removal_std`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/TabPFN/blob/c70b6ef0488858d32244c52222abfc0c5be207d6/src/tabpfn/inference_config.py#L413" aria-label="View source for InferenceConfig.get_resolved_outlier_removal_std"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Get the resolved outlier removal std.

```python theme={null}
InferenceConfig.get_resolved_outlier_removal_std(
    estimator_type: Literal["regressor", "classifier"],
) -> float | None
```

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="inferenceconfig-get-resolved-outlier-removal-std--estimator-type" /><code className="python-reference-parameter">estimator\_<wbr />type</code> | <code className="python-reference-type">Literal\["regressor", "classifier"]</code> | Required | — |
</div>

**Returns**

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

***

<div className="python-reference-heading">
  <h2 id="inferenceconfig-get-default">
    `InferenceConfig.get_default`
  </h2>

  <a className="python-reference-source" href="https://github.com/PriorLabs/TabPFN/blob/c70b6ef0488858d32244c52222abfc0c5be207d6/src/tabpfn/inference_config.py#L430" aria-label="View source for InferenceConfig.get_default"><span aria-hidden="true">\</></span> View source <span aria-hidden="true">↗</span></a>
</div>

Return the default config for the given model version and task type.

Note that for for model versions after v2, the inference config is stored in
the checkpoints itself and this function is not called.

```python theme={null}
InferenceConfig.get_default(
    task_type: TaskType,
    model_version: ModelVersion,
) -> InferenceConfig
```

<Accordion title="Type aliases">
  ```python theme={null}
  TaskType = Literal["multiclass", "regression"]
  ```
</Accordion>

**Parameters**

<div className="python-reference-table">
  | Parameter | Type | Default | Description |
  | - | - | - | - |
  | <span id="inferenceconfig-get-default--task-type" /><code className="python-reference-parameter">task\_<wbr />type</code> | <code className="python-reference-type"><a href="https://github.com/PriorLabs/TabPFN/blob/c70b6ef0488858d32244c52222abfc0c5be207d6/src/tabpfn/constants.py#L18">Task<wbr />Type</a></code> | Required | — |
  | <span id="inferenceconfig-get-default--model-version" /><code className="python-reference-parameter">model\_<wbr />version</code> | <code className="python-reference-type"><a href="/api-reference/python/tabpfn/model-versions#modelversion">Model<wbr />Version</a></code> | Required | — |
</div>

**Returns**

<div className="python-reference-table python-reference-returns">
  | Type | Description |
  | - | - |
  | <code className="python-reference-type"><a href="/api-reference/python/tabpfn/inference-config#inferenceconfig">Inference<wbr />Config</a></code> | — |
</div>


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