> This page is for version Nightly (default).
> For other versions, use one of these documentation indexes:
> - Nightly (default): https://docs.nvidia.com/nemo/automodel/nightly/llms.txt
> - Latest: https://docs.nvidia.com/nemo/automodel/latest/llms.txt
> - 0.5.0 · 26.06: https://docs.nvidia.com/nemo/automodel/v0.5/llms.txt
> - 0.4.0 · 26.04: https://docs.nvidia.com/nemo/automodel/v0.4/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/automodel/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/automodel/_mcp/server.

# nemo_automodel.recipes.retrieval.train_cross_encoder

## Module Contents

### Classes

| Name                                                                                                       | Description |
| ---------------------------------------------------------------------------------------------------------- | ----------- |
| [`TrainCrossEncoderRecipe`](#nemo_automodel-recipes-retrieval-train_cross_encoder-TrainCrossEncoderRecipe) | -           |

### Functions

| Name                                                                                                                   | Description                                                           |
| ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [`_validate_temperature_sources`](#nemo_automodel-recipes-retrieval-train_cross_encoder-_validate_temperature_sources) | Reject simultaneous recipe-level and model-level temperature scaling. |
| [`accuracy`](#nemo_automodel-recipes-retrieval-train_cross_encoder-accuracy)                                           | Returns (num\_correct, batch\_size) for top-1 accuracy.               |
| [`batch_mrr`](#nemo_automodel-recipes-retrieval-train_cross_encoder-batch_mrr)                                         | Returns sum of reciprocal ranks for the batch. Stays on GPU.          |
| [`main`](#nemo_automodel-recipes-retrieval-train_cross_encoder-main)                                                   | -                                                                     |

### API

```python
class nemo_automodel.recipes.retrieval.train_cross_encoder.TrainCrossEncoderRecipe()
```

**Bases:** [TrainBiEncoderRecipe](/nemo-automodel/nemo_automodel/recipes/retrieval/train_bi_encoder#nemo_automodel-recipes-retrieval-train_bi_encoder-TrainBiEncoderRecipe)

```python
nemo_automodel.recipes.retrieval.train_cross_encoder.TrainCrossEncoderRecipe._forward_backward_step(
    idx,
    batch,
    loss_buffer,
    num_batches,
    is_train: bool = True,
    modality_loss_buffers = None
)
```

Forward and backward pass for a single micro-batch.

```python
nemo_automodel.recipes.retrieval.train_cross_encoder.TrainCrossEncoderRecipe._run_train_optim_step(
    batches,
    max_grad_norm = None
)
```

```python
nemo_automodel.recipes.retrieval.train_cross_encoder.TrainCrossEncoderRecipe._run_validation_epoch(
    val_dataloader
)
```

Run validation for one epoch and compute loss, accuracy\@1, and MRR.

```python
nemo_automodel.recipes.retrieval.train_cross_encoder.TrainCrossEncoderRecipe._validate_model(
    model: torch.nn.Module
) -> None
```

Validate the effective temperature applied by the constructed model.

```python
nemo_automodel.recipes.retrieval.train_cross_encoder.TrainCrossEncoderRecipe.log_train_metrics(
    log_data: nemo_automodel.components.loggers.metric_logger.MetricsSample
)
```

```python
nemo_automodel.recipes.retrieval.train_cross_encoder._validate_temperature_sources(
    recipe_temperature: float,
    model_temperature: float
) -> None
```

Reject simultaneous recipe-level and model-level temperature scaling.

**Parameters:**

**`recipe_temperature`** `float`

Temperature applied by the cross-encoder recipe.

---

**`model_temperature`** `float`

Temperature applied by the loaded model.

---

**Raises:**

* `ValueError`: If both temperatures are non-unit.

```python
nemo_automodel.recipes.retrieval.train_cross_encoder.accuracy(
    output: torch.Tensor,
    target: torch.Tensor
) -> tuple[torch.Tensor, int]
```

Returns (num\_correct, batch\_size) for top-1 accuracy.

```python
nemo_automodel.recipes.retrieval.train_cross_encoder.batch_mrr(
    output: torch.Tensor,
    target: torch.Tensor
) -> torch.Tensor
```

Returns sum of reciprocal ranks for the batch. Stays on GPU.

```python
nemo_automodel.recipes.retrieval.train_cross_encoder.main(
    default_config_path = 'examples/retrieval/cross_e...
)
```