code: def test_factor_scheduler():
      base_lr = 1
      step = 100
      factor = 0.1
      sched = mx.lr_scheduler.FactorScheduler(
          step,
          factor,
          stop_factor_lr=1e-4,
          base_lr=base_lr,
          warmup_steps=20,
          warmup_begin_lr=0.1,
          warmup_mode="constant",
      )
  
      assert sched(0) == 0.1
      np.testing.assert_almost_equal(sched(10), 0.1)
      assert sched(21) == base_lr, sched(21)
      np.testing.assert_almost_equal(sched(101), base_lr * factor)
      np.testing.assert_almost_equal(
          sched(201), base_lr * factor * factor
      )
      np.testing.assert_almost_equal(sched(1000), 1e-4)
  
imports: import itertools
  import numpy
  import itertools
  import mxnet
  import mxnet.lr_scheduler
  from mxnet import gluon
  import unittest
  import pytest
  import math
  from mxnet.test_utils import *
  from common import retry, xfail_when_nonstandard_decimal_separator
label_desc: Use image node_id 26 for calling a global function with example usage: test_factor_scheduler() without return types