code: def _moveaxis(a, source, destination):
      if hasattr(numpy, "moveaxis"):
          return numpy.moveaxis(a, source, destination)
      source = _normalize_axis_tuple(source, a.ndim)
      destination = _normalize_axis_tuple(destination, a.ndim)
      order = [n for n in six.moves.range(a.ndim) if n not in source]
  
      for dest, src in sorted(six.moves.zip(destination, source)):
          order.insert(dest, src)
  
      result = a.transpose(order)
      return result
  
imports: import unittest
  import numpy
  import six
  from chainer import cuda
  from chainer import functions
  from chainer import testing
  from chainer.testing import attr
  from chainer.utils import type_check
label_desc: Use image node_id 2 for calling a global function with example usage: _moveaxis(a, source, destination) and returns: result, numpy