code: def test_cosine_scheduler():
      # also tests case without warmup
      base_lr = 3
      final_lr = 0.1
      steps = 1000
      cosine_sched = mx.lr_scheduler.CosineScheduler(
          steps, base_lr=base_lr, final_lr=final_lr
      )
      np.testing.assert_almost_equal(cosine_sched(0), base_lr)
      np.testing.assert_almost_equal(cosine_sched(steps), final_lr)
      assert cosine_sched(500) > 1.5
  
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 29 for calling a global function with example usage: test_cosine_scheduler() without return types