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 numberof elements. In this case the lower of the two medians is returned. Tocompute 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)>>>atensor([[ 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 sizeasinputexcept in the dimensiondimwhere they are of size 1.Otherwise,dimis squeezed (seetorch.squeeze()), resulting inthe outputs tensor having 1 fewer dimension thaninput.Note
The median is not unique for
inputtensors with an even numberof elements in the dimensiondim. In this case the lower of thetwo 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 eachmedian 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 secondtensor, which must have dtype long, with their indices in the dimension
dimofinput.
Example:
>>>a=torch.randn(4,5)>>>atensor([[ 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]))