If "keepdim" is "True", the output tensors are of the same size as
   "input" except in the dimension "dim" where they are of size 1.
   Otherwise, "dim" is squeezed (see "torch.squeeze()"), resulting in
   the outputs tensor having 1 fewer dimension than "input".
Note:
 The median is not unique for "input" tensors with an even number
 of elements in the dimension "dim". In this case the lower of the
 two medians is returned. To compute the mean of both medians in
 "input", use "torch.quantile()" with "q=0.5" instead.

Warning:
 "indices" does not necessarily contain the first occurrence of
 each median value found, unless it is unique. The exact
 implementation details are device-specific. Do not expect the
 same result when run on CPU and GPU in general. For the same
 reason do not expect the gradients to be deterministic.

Parameters:
      * input (Tensor) -- the input tensor.
  * **dim** (*int*) -- the dimension to reduce.
