---
title: "FormRecognitionSettings"
canonical_url: "https://www.nutrient.io/api/python/settings/advanced/vision/form-recognition-settings/"
md_url: "https://www.nutrient.io/api/python/settings/advanced/vision/form-recognition-settings.md"
last_updated: "2026-06-12T15:43:20.744Z"
description: "Settings for FormRecognition. Values fall back through three levels: document → SDK → built-in default."
---

Settings for FormRecognition. Values fall back through three levels: document → SDK → built-in default. Writes target the document only when set on a document's settings, otherwise the SDK globally when set on SdkSettings.

**Tags:** `Advanced`, `Vision`

```python

from nutrient_sdk import FormRecognitionSettings

```

## Construction

`FormRecognitionSettings` is accessed through a [`Document`](/api/python/document/) instance for per-document overrides, or via [`SdkSettings`](/api/python/settings/document/sdk-settings/) for SDK-wide defaults.

```python

# Per-document override

with Document.open("input.pdf") as doc:
    settings = doc.settings.form_recognition_settings
    settings.some_field = new_value          # mutate fields directly

# SDK-wide default (applies to all documents)

SdkSettings.form_recognition_settings.some_field = new_value

```

Settings are configured by writing to fields on the returned object. The settings property itself cannot be reassigned — `doc.settings.form_recognition_settings = other_settings` is rejected.

## Properties

### checkbox_logit_bias

```python

@property
def checkbox_logit_bias(self) -> float

@checkbox_logit_bias.setter
def checkbox_logit_bias(self, value: float) -> None

```

Logit bias applied to the Checkbox class before sigmoid during postprocessing. Positive values increase Checkbox detections, negative values suppress them. Default 0 (no bias).

**Type:** `float`

**Default:** `0f`

---

### confidence_threshold

```python

@property
def confidence_threshold(self) -> float

@confidence_threshold.setter
def confidence_threshold(self, value: float) -> None

```

Confidence threshold for form field predictions. Default is 0.5 as specified in the RF-DETR model.

**Type:** `float`

**Default:** `0.35f`

---

### model_path

```python

@property
def model_path(self) -> str

@model_path.setter
def model_path(self, value: str) -> None

```

Path to the TorchScript RF-DETR model file (model.onnx).

**Type:** `str`

**Default:** `GetDefaultModelPath()`

---

### num_classes

```python

@property
def num_classes(self) -> int

@num_classes.setter
def num_classes(self, value: int) -> None

```

Number of object classes (TextBox, ChoiceButton, Signature).

**Type:** `int`

**Default:** `3`

---

### num_select

```python

@property
def num_select(self) -> int

@num_select.setter
def num_select(self, value: int) -> None

```

Number of top predictions to select during postprocessing. Default is 300 as specified in the RF-DETR configuration.

**Type:** `int`

**Default:** `300`

---

### signature_logit_bias

```python

@property
def signature_logit_bias(self) -> float

@signature_logit_bias.setter
def signature_logit_bias(self, value: float) -> None

```

Logit bias applied to the Signature class before sigmoid during postprocessing. Positive values increase Signature detections, negative values suppress them. Default 0 (no bias).

**Type:** `float`

**Default:** `0f`

---

### text_logit_bias

```python

@property
def text_logit_bias(self) -> float

@text_logit_bias.setter
def text_logit_bias(self, value: float) -> None

```

Logit bias applied to the Text class before sigmoid during postprocessing. Positive values increase Text detections, negative values suppress them. Default 0 (no bias).

**Type:** `float`

**Default:** `0f`

---

### use_cpu_only

```python

@property
def use_cpu_only(self) -> bool

@use_cpu_only.setter
def use_cpu_only(self, value: bool) -> None

```

Enable CPU mode for ONNX. When true, forces CPU execution. When false, attempts to use GPU if available (CUDA/MPS).

**Type:** `bool`

**Default:** `false`

---

---

## Related pages

- [Per-document override](/api/python/settings/advanced/vision/ai-processing-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/custom-vlm-api-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/form-labeling-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/finalizer-settings.md)
- [Vision](/api/python/settings/advanced/vision.md)
- [Per-document override](/api/python/settings/advanced/vision/ocr-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/inference-layout-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/open-ai-languages-detection-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/open-ai-picture-alt-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/reading-order-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/segmenter-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/words-detection-settings.md)

