code: def _update_lion(p, g, m, lr, beta1, beta2, wd):
      def _lerp(a, b, t):
          return a + t * (b - a)
  
      u = _lerp(g, m, beta1)
      u = np.sign(u)
      m[...] = _lerp(g, m, beta2)
      p[...] = p - lr * (u + wd * p)
  
file_path: nnabla/python/test/solver/test_lion.py
imports: import pytest
  import nnabla.solvers
  import numpy
  from solver_test_utils import solver_tester, RefSolver, MixinWeightDecayFused
  from nbla_test_utils import list_context
label_desc: Use image node_id 2 for calling a global function with example usage: _update_lion(p, g, m, lr, beta1, beta2, wd) and returns: unknown