---
title: HyperparametersMixin
canonical: >-
  https://lightning.ai/docs/pytorch/stable/optional-api/api/lightning.pytorch.core.mixins.HyperparametersMixin
---
# HyperparametersMixin {#hyperparametersmixin}

### `class lightning.pytorch.core.mixins.HyperparametersMixin` {#lightning.pytorch.core.mixins.HyperparametersMixin}

Bases: [`object`](https://docs.python.org/3/builtins/functions.html#object "(in Python v3.15)")

#### `remove_ignored_hparams(ignore_list)` {#lightning.pytorch.core.mixins.HyperparametersMixin.remove_ignored_hparams}

Remove ignored hyperparameters from the stored state.

This allows derived classes to drop hyperparameters previously saved by base classes.

Parameters:

**ignore\_list** ([`list`](https://docs.python.org/3/builtins/stdtypes.html#list "(in Python v3.15)")\[[`str`](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)")\]) – Names of hyperparameters to remove.

Return type:

[`None`](https://docs.python.org/3/builtins/constants.html#None "(in Python v3.15)")

#### `save_hyperparameters(*args, ignore=None, frame=None, logger=True)` {#lightning.pytorch.core.mixins.HyperparametersMixin.save_hyperparameters}

Save arguments to `hparams` attribute.

Parameters:

*   **args** ([`Any`](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.15)")) – single object of dict, NameSpace or OmegaConf or string names or arguments from class `__init__`
    
*   **ignore** (`Union`\[[`Sequence`](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence "(in Python v3.15)")\[[`str`](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)")\], [`str`](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)"), [`None`](https://docs.python.org/3/builtins/constants.html#None "(in Python v3.15)")\]) – an argument name or a list of argument names from class `__init__` to be ignored
    
*   **frame** ([`Optional`](https://docs.python.org/3/library/typing.html#typing.Optional "(in Python v3.15)")\[[`FrameType`](https://docs.python.org/3/library/types.html#types.FrameType "(in Python v3.15)")\]) – a frame object. Default is None
    
*   **logger** ([`bool`](https://docs.python.org/3/builtins/functions.html#bool "(in Python v3.15)")) – Whether to send the hyperparameters to the logger. Default: True
    

Return type:

[`None`](https://docs.python.org/3/builtins/constants.html#None "(in Python v3.15)")

Example::

```python
>>> from lightning.pytorch.core.mixins import HyperparametersMixin
>>> class ManuallyArgsModel(HyperparametersMixin):
...     def __init__(self, arg1, arg2, arg3):
...         super().__init__()
...         # manually assign arguments
...         self.save_hyperparameters('arg1', 'arg3')
...     def forward(self, *args, **kwargs):
...         ...
>>> model = ManuallyArgsModel(1, 'abc', 3.14)
>>> model.hparams
"arg1": 1
"arg3": 3.14
```

```python
>>> from lightning.pytorch.core.mixins import HyperparametersMixin
>>> class AutomaticArgsModel(HyperparametersMixin):
...     def __init__(self, arg1, arg2, arg3):
...         super().__init__()
...         # equivalent automatic
...         self.save_hyperparameters()
...     def forward(self, *args, **kwargs):
...         ...
>>> model = AutomaticArgsModel(1, 'abc', 3.14)
>>> model.hparams
"arg1": 1
"arg2": abc
"arg3": 3.14
```

```python
>>> from lightning.pytorch.core.mixins import HyperparametersMixin
>>> class SingleArgModel(HyperparametersMixin):
...     def __init__(self, params):
...         super().__init__()
...         # manually assign single argument
...         self.save_hyperparameters(params)
...     def forward(self, *args, **kwargs):
...         ...
>>> model = SingleArgModel(Namespace(p1=1, p2='abc', p3=3.14))
>>> model.hparams
"p1": 1
"p2": abc
"p3": 3.14
```

```python
>>> from lightning.pytorch.core.mixins import HyperparametersMixin
>>> class ManuallyArgsModel(HyperparametersMixin):
...     def __init__(self, arg1, arg2, arg3):
...         super().__init__()
...         # pass argument(s) to ignore as a string or in a list
...         self.save_hyperparameters(ignore='arg2')
...     def forward(self, *args, **kwargs):
...         ...
>>> model = ManuallyArgsModel(1, 'abc', 3.14)
>>> model.hparams
"arg1": 1
"arg3": 3.14
```

#### `property hparams: Union[AttributeDict, MutableMapping]` {#lightning.pytorch.core.mixins.HyperparametersMixin.hparams}

The collection of hyperparameters saved with [`save_hyperparameters()`](#lightning.pytorch.core.mixins.HyperparametersMixin.save_hyperparameters "lightning.pytorch.core.mixins.HyperparametersMixin.save_hyperparameters"). It is mutable by the user. For the frozen set of initial hyperparameters, use [`hparams_initial`](#lightning.pytorch.core.mixins.HyperparametersMixin.hparams_initial "lightning.pytorch.core.mixins.HyperparametersMixin.hparams_initial").

Returns:

Mutable hyperparameters dictionary

#### `property hparams_initial: AttributeDict` {#lightning.pytorch.core.mixins.HyperparametersMixin.hparams_initial}

The collection of hyperparameters saved with [`save_hyperparameters()`](#lightning.pytorch.core.mixins.HyperparametersMixin.save_hyperparameters "lightning.pytorch.core.mixins.HyperparametersMixin.save_hyperparameters"). These contents are read-only. Manual updates to the saved hyperparameters can instead be performed through [`hparams`](#lightning.pytorch.core.mixins.HyperparametersMixin.hparams "lightning.pytorch.core.mixins.HyperparametersMixin.hparams").

Returns:

immutable initial hyperparameters

Return type:

[AttributeDict](/docs/pytorch/2.6.6/optional-api/api/lightning.pytorch.utilities.parsing.md#lightning.pytorch.utilities.parsing.AttributeDict "lightning.pytorch.utilities.parsing.AttributeDict")

---

**Navigation**

- Parent: [Api](/docs/pytorch/2.6.6/optional-api/api.md)
