code: def test_params():
      N = 1000
      linear = LRScheduler("linear", base_lr=1, target_lr=2, niters=N)
      linear2 = LRScheduler("linear", baselr=1, targetlr=2, niters=N)
      linear3 = LRScheduler(
          "linear",
          base_lr=1,
          target_lr=2,
          niters=N,
          baselr=0,
          targetlr=1,
      )
  
      linear4 = LRScheduler(
          "linear", base_lr=1, target_lr=2, niters=N / 2
      )
      linear5 = LRScheduler(
          "linear",
          base_lr=1,
          target_lr=2,
          niters=N / 2,
          nepochs=N / 2,
          iters_per_epoch=2,
      )
  
      compare(linear, 0, 1)
      compare(linear, N - 1, 2)
      compare(linear2, 0, 1)
      compare(linear2, N - 1, 2)
      compare(linear3, 0, 1)
      compare(linear3, N - 1, 2)
      compare(linear4, 0, 1)
      compare(linear4, N / 2 - 1, 2)
      compare(linear5, 0, 1)
      compare(linear5, N / 2 - 1, 1.5, rtol=0.01)
      compare(linear5, N - 1, 2)
  
file_path: gluon-cv/tests/unittests/test_lr_scheduler.py
imports: from __future__ import print_function
  from __future__ import division
  import os.path
  import mxnet
  import numpy
  import gluoncv
  from mxnet import autograd, gluon
  from math import pi, cos
  from gluoncv.utils import LRScheduler, LRSequential
label_desc: Use image node_id 5 for calling a global function with example usage: test_params() without return types