class_docstr: This class is a wrapper for numpy argsort function.
class_docstr_tok: ["This","class","is","a","wrapper","for","numpy","argsort","function","."]
code: def infer_shape(self, fgraph, node, inputs_shapes):
      if _variable_is_none(node.inputs[1]):
          return [(mul(*inputs_shapes[0]),)]
      # axis should not be None, so there should be the same number of
      # dimensions in the input and output
      assert node.inputs[0].ndim == node.outputs[0].ndim
      assert inputs_shapes[1] == ()
      return [inputs_shapes[0]]
  
imports: import numpy
  from pytensor.gradient import grad_undefined
  from pytensor.graph.basic import Apply, Constant
  from pytensor.graph.op import Op
  from pytensor.misc.safe_asarray import _asarray
  from pytensor.tensor.basic import arange, as_tensor_variable, flatten, switch
  from pytensor.tensor.math import eq, ge, mul
  from pytensor.tensor.shape import shape
  from pytensor.tensor.subtensor import set_subtensor
  from pytensor.tensor.type import TensorType, integer_dtypes
label_desc: Use image node_id 5 for calling the ArgSortOp obj's underlying member method code with example usage: obj.infer_shape(fgraph, node, inputs_shapes) and returns: list, list