torch.median¶
-
torch.
median
(input) → Tensor¶ Returns the median of the values in
input
.Note
The median is not unique for
input
tensors with an even number of elements. In this case the lower of the two medians is returned. To compute the mean of both medians, usetorch.quantile()
withq=0.5
instead.Warning
This function produces deterministic (sub)gradients unlike
median(dim=0)
- Parameters
input (Tensor) – the input tensor.
Example:
>>> a = torch.randn(1, 3) >>> a tensor([[ 1.5219, -1.5212, 0.2202]]) >>> torch.median(a) tensor(0.2202)
-
torch.
median
(input, dim=-1, keepdim=False, *, out=None) -> (Tensor, LongTensor)
Returns a namedtuple
(values, indices)
wherevalues
contains the median of each row ofinput
in the dimensiondim
, andindices
contains the index of the median values found in the dimensiondim
.By default,
dim
is the last dimension of theinput
tensor.If
keepdim
isTrue
, the output tensors are of the same size asinput
except in the dimensiondim
where they are of size 1. Otherwise,dim
is squeezed (seetorch.squeeze()
), resulting in the outputs tensor having 1 fewer dimension thaninput
.Note
The median is not unique for
input
tensors with an even number of elements in the dimensiondim
. In this case the lower of the two medians is returned. To compute the mean of both medians ininput
, usetorch.quantile()
withq=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
- Keyword Arguments
out ((Tensor, Tensor), optional) – The first tensor will be populated with the median values and the second tensor, which must have dtype long, with their indices in the dimension
dim
ofinput
.
Example:
>>> a = torch.randn(4, 5) >>> a tensor([[ 0.2505, -0.3982, -0.9948, 0.3518, -1.3131], [ 0.3180, -0.6993, 1.0436, 0.0438, 0.2270], [-0.2751, 0.7303, 0.2192, 0.3321, 0.2488], [ 1.0778, -1.9510, 0.7048, 0.4742, -0.7125]]) >>> torch.median(a, 1) torch.return_types.median(values=tensor([-0.3982, 0.2270, 0.2488, 0.4742]), indices=tensor([1, 4, 4, 3]))