torch.quantile#
- torch.quantile(input, q, dim=None, keepdim=False, *, interpolation='linear', out=None) Tensor#
- Computes the q-th quantiles of each row of the - inputtensor along the dimension- dim.- To compute the quantile, we map q in [0, 1] to the range of indices [0, n] to find the location of the quantile in the sorted input. If the quantile lies between two data points - a < bwith indices- iand- jin the sorted order, result is computed according to the given- interpolationmethod as follows:- linear:- a + (b - a) * fraction, where- fractionis the fractional part of the computed quantile index.
- lower:- a.
- higher:- b.
- nearest:- aor- b, whichever’s index is closer to the computed quantile index (follows- torch.round()).
- midpoint:- (a + b) / 2.
 - If - qis a 1D tensor, the first dimension of the output represents the quantiles and has size equal to the size of- q, the remaining dimensions are what remains from the reduction.- Note - By default - dimis- Noneresulting in the- inputtensor being flattened before computation.- Parameters
- Keyword Arguments
 - Example: - >>> a = torch.randn(2, 3) >>> a tensor([[ 0.0795, -1.2117, 0.9765], [ 1.1707, 0.6706, 0.4884]]) >>> q = torch.tensor([0.25, 0.5, 0.75]) >>> torch.quantile(a, q, dim=1, keepdim=True) tensor([[[-0.5661], [ 0.5795]], [[ 0.0795], [ 0.6706]], [[ 0.5280], [ 0.9206]]]) >>> torch.quantile(a, q, dim=1, keepdim=True).shape torch.Size([3, 2, 1]) >>> a = torch.arange(4.) >>> a tensor([0., 1., 2., 3.]) >>> torch.quantile(a, 0.6, interpolation='linear') tensor(1.8000) >>> torch.quantile(a, 0.6, interpolation='lower') tensor(1.) >>> torch.quantile(a, 0.6, interpolation='higher') tensor(2.) >>> torch.quantile(a, 0.6, interpolation='midpoint') tensor(1.5000) >>> torch.quantile(a, 0.6, interpolation='nearest') tensor(2.) >>> torch.quantile(a, 0.4, interpolation='nearest') tensor(1.)