torch.median#
- torch.median(input) Tensor#
Returns the median of the values in
input.Note
The median is not unique for
inputtensors 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.5instead.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)
Returns a namedtuple
(values, indices)wherevaluescontains the median of each row ofinputin the dimensiondim, andindicescontains the index of the median values found in the dimensiondim.By default,
dimis the last dimension of theinputtensor.If
keepdimisTrue, the output tensors are of the same size asinputexcept in the dimensiondimwhere they are of size 1. Otherwise,dimis squeezed (seetorch.squeeze()), resulting in the outputs tensor having 1 fewer dimension thaninput.Note
The median is not unique for
inputtensors 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.5instead.Warning
indicesdoes 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
dimofinput.
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]))