當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch median用法及代碼示例


本文簡要介紹python語言中 torch.median 的用法。

用法:

torch.median(input) → Tensor

參數

input(Tensor) -輸入張量。

參數

  • input(Tensor) -輸入張量。

  • dim(int) -要減少的維度。

  • keepdim(bool) -輸出張量是否保留了dim

關鍵字參數

out((Tensor,Tensor),可選的) -第一個張量將填充中間值,第二個張量必須具有 dtype long,它們的索引在 input 的維度 dim 中。

返回 input 中值的中位數。

注意

對於具有偶數個元素的 input 張量,中位數不是唯一的。在這種情況下,返回兩個中位數中較低的那個。要計算兩個中位數的平均值,請改用 torch.quantile() q=0.5

警告

median(dim=0) 不同,此函數產生確定性(子)梯度

例子:

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

返回一個命名元組 (values, indices) 其中 values 包含維度 dim 中每行 input 的中值,而 indices 包含維度 dim 中找到的中值的索引。

默認情況下,diminput 張量的最後一個維度。

如果 keepdimTrue ,則輸出張量的大小與 input 相同,但在維度 dim 中它們的大小為 1。否則,dim 被壓縮(參見 torch.squeeze() ),結果在比 input 少 1 個維度的輸出張量中。

注意

對於在維度 dim 中具有偶數個元素的 input 張量,中位數不是唯一的。在這種情況下,返回兩個中位數中較低的那個。要計算 input 中兩個中位數的平均值,請改用 torch.quantile() q=0.5

警告

indices 不一定包含找到的每個中值的第一次出現,除非它是唯一的。確切的實現細節是特定於設備的。一般情況下,不要期望在 CPU 和 GPU 上運行時得到相同的結果。出於同樣的原因,不要期望梯度是確定性的。

例子:

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

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.median。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。