code: def radam_step(
      p, lr, mom, step, sqr_mom, grad_avg, sqr_avg, eps, beta, **kwargs
  ):
      "Step for RAdam with `lr` on `p`"
      debias1 = debias(mom, 1 - mom, step)
      debias2 = debias(sqr_mom, 1 - sqr_mom, step)
      r_inf = 2 / (1 - sqr_mom) - 1
      r = r_inf - 2 * step * sqr_mom**step / (1 - sqr_mom**step)
      if r > 5:
          v = math.sqrt(
              ((r - 4) * (r - 2) * r_inf)
              / ((r_inf - 4) * (r_inf - 2) * r)
          )
          denom = (sqr_avg / debias2).sqrt()
          if eps:
              denom += eps
          if beta:
              denom = F.softplus(denom, beta)
          p.data.addcdiv_(grad_avg, denom, value=-lr * v / debias1)
      else:
          p.data.add_(grad_avg, alpha=-lr / debias1)
      return p
  
imports: from __future__ import annotations
  from .torch_basics import *
label_desc: Use image node_id 15 for calling a global function with example usage: radam_step(p, lr, mom, step, sqr_mom, grad_avg, sqr_avg, eps, beta) and returns: p