> This page is for version 0.5.0 · 26.06.
> 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.components.optim.precision_warnings

## Module Contents

### Functions

| Name                                                                                                                             | Description                                                                 |
| -------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| [`_has_trainable_bf16_param`](#nemo_automodel-components-optim-precision_warnings-_has_trainable_bf16_param)                     | -                                                                           |
| [`_is_rank_zero`](#nemo_automodel-components-optim-precision_warnings-_is_rank_zero)                                             | -                                                                           |
| [`_is_torch_adam_config`](#nemo_automodel-components-optim-precision_warnings-_is_torch_adam_config)                             | -                                                                           |
| [`_is_torch_adam_optimizer`](#nemo_automodel-components-optim-precision_warnings-_is_torch_adam_optimizer)                       | -                                                                           |
| [`_iter_optimizer_params`](#nemo_automodel-components-optim-precision_warnings-_iter_optimizer_params)                           | -                                                                           |
| [`warn_if_torch_adam_with_bf16_params`](#nemo_automodel-components-optim-precision_warnings-warn_if_torch_adam_with_bf16_params) | Warn about full-parameter bf16 training with vanilla torch Adam optimizers. |

### Data

[`_TORCH_ADAM_TARGETS`](#nemo_automodel-components-optim-precision_warnings-_TORCH_ADAM_TARGETS)

[`_WARNED_CONTEXTS`](#nemo_automodel-components-optim-precision_warnings-_WARNED_CONTEXTS)

### API

```python
nemo_automodel.components.optim.precision_warnings._has_trainable_bf16_param(
    parameters: collections.abc.Iterable[torch.nn.Parameter]
) -> bool
```

```python
nemo_automodel.components.optim.precision_warnings._is_rank_zero() -> bool
```

```python
nemo_automodel.components.optim.precision_warnings._is_torch_adam_config(
    optimizer_cfg: typing.Any | None
) -> bool
```

```python
nemo_automodel.components.optim.precision_warnings._is_torch_adam_optimizer(
    optimizer: torch.optim.Optimizer | collections.abc.Iterable[torch.optim.Optimizer] | None
) -> bool
```

```python
nemo_automodel.components.optim.precision_warnings._iter_optimizer_params(
    optimizer: torch.optim.Optimizer | collections.abc.Iterable[torch.optim.Optimizer] | None
) -> collections.abc.Iterable[torch.nn.Parameter]
```

```python
nemo_automodel.components.optim.precision_warnings.warn_if_torch_adam_with_bf16_params(
    optimizer: torch.optim.Optimizer | collections.abc.Iterable[torch.optim.Optimizer] | None = None,
    optimizer_cfg: typing.Any | None = None,
    parameters: collections.abc.Iterable[torch.nn.Parameter] | None = None,
    is_peft: bool = False,
    context: str = 'recipe',
    logger: logging.Logger | None = None
) -> None
```

Warn about full-parameter bf16 training with vanilla torch Adam optimizers.

```python
nemo_automodel.components.optim.precision_warnings._TORCH_ADAM_TARGETS = {'torch.optim.Adam', 'torch.optim.AdamW', 'torch.optim.adam.Adam', 'torch.optim....
```

```python
nemo_automodel.components.optim.precision_warnings._WARNED_CONTEXTS: set[str] = set()
```