class_docstr: Top-level loop where prediction starts.
class_docstr_tok: ["Top-level","loop","where","prediction","starts","."]
code: def _store_data_for_prediction_writer(
      self, batch_idx: int, dataloader_idx: int
  ) -> bool:
      prediction_writers = [
          cb
          for cb in self.trainer.callbacks
          if isinstance(cb, BasePredictionWriter)
      ]
      any_on_epoch = any(
          cb.interval.on_epoch for cb in prediction_writers
      )
      any_on_batch = any(
          cb.interval.on_batch for cb in prediction_writers
      )
      if any_on_batch or any_on_epoch:
          combined_loader = self._combined_loader
          assert combined_loader is not None
          dataloader = combined_loader.flattened[dataloader_idx]
          batch_indices = self._get_batch_indices(dataloader)
          if not batch_indices:
              # this is only available with `_IndexBatchSamplerWrapper`, but it's only used on DataLoaders, if this is
              # reached, it's likely because a non-DataLoader was passed
              return any_on_epoch
          batch_indices = batch_indices[batch_idx]
          if any_on_epoch:
              self.epoch_batch_indices[dataloader_idx].append(
                  batch_indices
              )
          if any_on_batch:
              self.current_batch_indices = batch_indices
      return any_on_epoch
  
imports: from collections import OrderedDict
  from typing import Any, Iterator, List, Optional, Union
  import torch
  from lightning_utilities import WarningCache
  import lightning.pytorch
  from lightning.fabric.utilities import move_data_to_device
  from lightning.pytorch.callbacks import BasePredictionWriter
  from lightning.pytorch.loops.fetchers import _DataFetcher, _DataLoaderIterDataFetcher
  from lightning.pytorch.loops.loop import _Loop
  from lightning.pytorch.loops.progress import _Progress
  from lightning.pytorch.loops.utilities import _no_grad_context, _select_data_fetcher, _verify_dataloader_idx_requirement
  from lightning.pytorch.overrides.distributed import _IndexBatchSamplerWrapper
  from lightning.pytorch.strategies.launchers import _MultiProcessingLauncher
  from lightning.pytorch.trainer import call
  from lightning.pytorch.trainer.connectors.data_connector import _check_dataloader_iterable, _DataLoaderSource, _parse_num_batches, _process_dataloader, _request_dataloader
  from lightning.pytorch.trainer.states import RunningStage, TrainerFn
  from lightning.pytorch.utilities.combined_loader import CombinedLoader
  from lightning.pytorch.utilities.data import has_len_all_ranks
  from lightning.pytorch.utilities.exceptions import MisconfigurationException
  from lightning.pytorch.utilities.model_helpers import _ModuleMode
  from lightning.pytorch.utilities.signature_utils import is_param_in_hook_signature
  from lightning.pytorch.utilities.types import _PREDICT_OUTPUT
label_desc: Use image node_id 17 for calling the _PredictionLoop obj's underlying member method code with example usage: obj._store_data_for_prediction_writer(batch_idx, dataloader_idx) and returns: any_on_epoch, any_on_epoch