code: def np_cosine_decay_restarts(
      self, step, decay_steps, t_mul=2.0, m_mul=1.0, alpha=0.0
  ):
      fac = 1.0
      while step >= decay_steps:
          step -= decay_steps
          decay_steps *= t_mul
          fac *= m_mul
  
      completed_fraction = step / decay_steps
      decay = fac * 0.5 * (1.0 + math.cos(math.pi * completed_fraction))
      return (1.0 - alpha) * decay + alpha
  
imports: import math
  import numpy
  import pytest
  from keras import backend
  from keras import layers
  from keras import optimizers
  from keras import testing
  from keras.models import Sequential
  from keras.optimizers import schedules
label_desc: Use image node_id 2 for calling the CosineDecayRestartsTest obj's underlying member method code with example usage: obj.np_cosine_decay_restarts(step, decay_steps, t_mul, m_mul, alpha) and returns: unknown