class_docstr: Permutes tensor ``x`` dimensions according to ``perm``.
  
  Parameters
  ----------
  x: tensor<*?, T> (Required)
      * Must be at least 1D. ``x`` may have symbolic shape.
  perm: const<[rank(x)], i32> (Required)
      * Permutation order. Must be non-negative integers.
  
  Returns
  -------
  tensor<*?,T>
      * Tensor with same rank and type as ``x``.
  
  Attributes
  ----------
  T: fp32
code: def value_inference(self):
      return np.transpose(self.x.val, axes=self.perm.val)
  
imports: import functools
  import sympy
  from coremltools.converters.mil.mil.types.symbolic import is_symbolic, isscalar, any_symbolic, any_variadic
  from coremltools.converters.mil.mil import get_new_symbol, get_new_variadic_symbol, VALUE, SYMBOL, types
  from ._op_reqs import *
label_desc: Use image node_id 3 for calling the transpose obj's underlying member method code with example usage: obj.value_inference() and returns: np