code: def test_poly_scheduler():
      base_lr = 3
      final_lr = 0
      steps = 1000
      poly_sched = mx.lr_scheduler.PolyScheduler(
          steps,
          base_lr=base_lr,
          pwr=2,
          final_lr=final_lr,
          warmup_steps=100,
          warmup_begin_lr=0,
          warmup_mode="linear",
      )
  
      np.testing.assert_almost_equal(poly_sched(0), 0)
      np.testing.assert_almost_equal(poly_sched(50), float(base_lr) / 2)
      np.testing.assert_almost_equal(poly_sched(100), base_lr)
      assert poly_sched(101) < poly_sched(100)
      assert poly_sched(500) < 1.6
      np.testing.assert_almost_equal(poly_sched(steps), final_lr)
  
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 28 for calling a global function with example usage: test_poly_scheduler() without return types