code: def test_lr_scheduler_OneCycleLR(self):
      from extra.lr_scheduler import OneCycleLR
  
      conv = nn.Conv2d(3, 16, 3)
      for p in get_parameters(conv):
          p.shard_((d0, d1))
      optim = nn.optim.SGD(get_parameters(conv))
      lr_sched = OneCycleLR(
          optim,
          max_lr=0.1,
          pct_start=0.1,
          div_factor=100,
          final_div_factor=0.1,
          total_steps=10,
      )
      lr_sched.step()
  
imports: import functools
  import unittest
  from tinygrad import Tensor, Device, nn, GlobalCounters
  from tinygrad.device import _BufferCopy
  from tinygrad.helpers import CI
  from tinygrad.jit import TinyJit
  from tinygrad.nn.state import get_parameters
  import numpy
label_desc: Use image node_id 35 for calling the TestMultiTensor obj's underlying member method code with example usage: obj.test_lr_scheduler_OneCycleLR() without return types