Rate this Page

torch.median#

torch.median(input)Tensor#

Returns the median of the values ininput.

Note

The median is not unique forinput tensors 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.5 instead.

Warning

This function produces deterministic (sub)gradients unlikemedian(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) wherevalues contains the median of each row ofinputin the dimensiondim, andindices contains the index of the median values found in the dimensiondim.

By default,dim is the last dimension of theinput tensor.

Ifkeepdim isTrue, the output tensors are of the same sizeasinput except in the dimensiondim where they are of size 1.Otherwise,dim is squeezed (seetorch.squeeze()), resulting inthe outputs tensor having 1 fewer dimension thaninput.

Note

The median is not unique forinput tensors 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.5 instead.

Warning

indices does 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
  • input (Tensor) – the input tensor.

  • dim (int,optional) – the dimension to reduce.IfNone, all dimensions are reduced.

  • keepdim (bool,optional) – whether the output tensor hasdim retained or not. Default:False.

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 dimensiondim ofinput.

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]))