code: def adamw_update(
      weight,
      grad,
      mean,
      var,
      rescale_grad,
      lr,
      eta,
      beta1=0.9,
      beta2=0.999,
      epsilon=1e-8,
      wd=0,
      clip_gradient=-1,
      out=None,
      name=None,
      **kwargs,
  ):
      rescale_grad = _get_rescale_grad(rescale_grad, ctx=weight.context)
      return ndarray._internal._adamw_update(
          weight=weight,
          grad=grad,
          mean=mean,
          var=var,
          rescale_grad=rescale_grad,
          lr=lr,
          eta=eta,
          beta1=beta1,
          beta2=beta2,
          epsilon=epsilon,
          wd=wd,
          clip_gradient=clip_gradient,
          out=out,
          name=name,
          **kwargs,
      )
  
imports: import math
  import numpy
  import mxnet
  from ..device import current_device
  from ..random import uniform
  from ..base import _as_list
  from .None import ndarray
label_desc: Use image node_id 12 for calling a global function with example usage: adamw_update(weight, grad, mean, var, rescale_grad, lr, eta, beta1, beta2, epsilon, wd, clip_gradient, out, name) and returns: ndarray