Parameters:
      * input (Tensor) -- the input tensor.
  * **dim** (*int*) -- the dimension to reduce. If "None", the
    argmax of the flattened input is returned.

  * **keepdim** (*bool*) -- whether the output tensor has "dim"
    retained or not. Ignored if "dim=None".

Example:
  >>> a = torch.randn(4, 4)
  >>> a
  tensor([[ 1.3398,  0.2663, -0.2686,  0.2450],
          [-0.7401, -0.8805, -0.3402, -1.1936],
          [ 0.4907, -1.3948, -1.0691, -0.3132],
          [-1.6092,  0.5419, -0.2993,  0.3195]])
  >>> torch.argmax(a, dim=1)
  tensor([ 0,  2,  0,  1])
