class_docstr: Inject failure at the configured iteration number.
class_docstr_tok: ["Inject","failure","at","the","configured","iteration","number","."]
code: def __init__(self, fail_marker_path: Path, num_iters: int = 2):
      self.num_iters = num_iters
      self.fail_marker_path = fail_marker_path
  
imports: import warnings
  from pathlib import Path
  from typing import Dict, List
  import pytest
  import ray
  from ray import train
  from ray.air._internal.uri_utils import URI
  from ray.train import CheckpointConfig, RunConfig, ScalingConfig
  from ray.train.base_trainer import BaseTrainer
  from ray.train.data_parallel_trainer import DataParallelTrainer
  from ray.train.lightgbm import LightGBMTrainer
  from ray.train.tests.util import create_dict_checkpoint, load_dict_checkpoint
  from ray.train.torch import TorchTrainer
  from ray.train.trainer import TrainingFailedError
  from ray.train.xgboost import XGBoostTrainer
  from ray.tune import Callback
  from ray.tune.experiment import Trial
label_desc: Use image node_id 1 to create a new FailureInjectionCallback object from inherited base classes: Callback with example: obj = FailureInjectionCallback(fail_marker_path, num_iters)