h as at the
end of the iteration, the number of items in the dataset in the last batch relative to the batch size, and other
useful information that might be needed.

**Available attributes:**

    - **end_of_dataloader** (`bool`) -- Whether at the last iteration or batch
    - **remainder** (`int`) -- The number of items that are remaining in the last batch, relative to the total
      batch size

<Tip warning={true}>

    Inheriters of this class should ensure that the class creates a `GradientState()` instance, stored in
    `self.gradient_state`.

</Tip>

c