code: def test_quadratic_warmup_scheduler_convert_iterbased(self):
      epochs = 10
      end = 5
      epoch_length = 11
  
      iters = end * epoch_length
      warmup_factor = [
          pow((i + 1) / float(iters), 2) for i in range(iters)
      ]
      single_targets = [x * 0.05 for x in warmup_factor] + [0.05] * (
          epochs * epoch_length - iters
      )
      targets = [single_targets, [x * epochs for x in single_targets]]
      scheduler = QuadraticWarmupParamScheduler.build_iter_from_epoch(
          self.optimizer,
          param_name="lr",
          end=end,
          epoch_length=epoch_length,
      )
      self._test_scheduler_value(
          scheduler, targets, epochs * epoch_length
      )
  
file_path: mmdetection/tests/test_engine/test_schedulers/test_quadratic_warmup.py
imports: from unittest import TestCase
  import torch
  import torch.nn.functional
  import torch.optim
  from mmengine.optim.scheduler import _ParamScheduler
  from mmengine.testing import assert_allclose
  from mmdet.engine.schedulers import QuadraticWarmupLR, QuadraticWarmupMomentum, QuadraticWarmupParamScheduler
label_desc: Use image node_id 4 for calling the TestQuadraticWarmupScheduler obj's underlying member method code with example usage: obj.test_quadratic_warmup_scheduler_convert_iterbased() without return types