class_docstr: A container to hold the result of a :class:`Closure` call.
  
  It is created from the output of :meth:`~lightning.pytorch.core.LightningModule.training_step`.
  
  Attributes:
      closure_loss: The loss with a graph attached.
      loss: A detached copy of the closure loss.
      extra: Any keys other than the loss returned.
code: def __post_init__(self) -> None:
      self._clone_loss()
  
imports: from dataclasses import dataclass, field
  from functools import partial
  from typing import Any, Callable, Dict, Mapping, Optional, OrderedDict
  import torch
  from torch import Tensor
  from torch.optim import Optimizer
  from typing_extensions import override
  import lightning.pytorch
  from lightning.pytorch.loops.loop import _Loop
  from lightning.pytorch.loops.optimization.closure import AbstractClosure, OutputResult
  from lightning.pytorch.loops.progress import _OptimizationProgress
  from lightning.pytorch.loops.utilities import _block_parallel_sync_behavior
  from lightning.pytorch.trainer import call
  from lightning.pytorch.utilities.exceptions import MisconfigurationException
  from lightning.pytorch.utilities.rank_zero import WarningCache
  from lightning.pytorch.utilities.types import STEP_OUTPUT
label_desc: Use image node_id 1 for calling the ClosureResult obj's underlying member method code with example usage: obj.__post_init__() without return types