class_docstr: This callback tracks and communicates the Trainer's progress to the running PyTorch Lightning App.
class_docstr_tok: ["This","callback","tracks","and","communicates","the","Trainer","'s","progress","to","the","running","PyTorch","Lightning","App","."]
code: def on_validation_batch_end(
      self,
      trainer: "pl.Trainer",
      pl_module: "pl.LightningModule",
      *_: Any,
  ) -> None:
      self._state.metrics = self._progress_bar_metrics(
          trainer, pl_module
      )
      current = self._val_batch_idx(trainer)
      if trainer.state.fn == "fit":
          self._state.fit.val_batch_idx = current
      if trainer.state.fn == "validate":
          self._state.val.val_batch_idx = current
      if self._should_send(current, self._total_val_batches(trainer)):
          self._send_state()
  
imports: import inspect
  from typing import TYPE_CHECKING, Any, Dict, Union
  import lightning.pytorch
  from lightning.app.storage.path import Path
  from lightning.app.utilities.app_helpers import Logger
  from lightning.pytorch import Callback
  from lightning.pytorch.callbacks.progress.progress_bar import get_standard_metrics
  from lightning.pytorch.loggers import TensorBoardLogger, WandbLogger
  from lightning.pytorch.utilities.parsing import collect_init_args
  from core.state import ProgressBarState, TrainerState
label_desc: Use image node_id 8 for calling the PLAppProgressTracker obj's underlying member method code with example usage: obj.on_validation_batch_end(trainer, pl_module) without return types