本文簡要介紹python語言中 torch.norm
的用法。
用法:
torch.norm(input, p='fro', dim=None, keepdim=False, out=None, dtype=None)
input(Tensor) -輸入張量。它的數據類型必須是浮點數或複數類型。對於複雜輸入,使用每個元素的絕對值計算範數。如果輸入是複數並且既沒有指定
dtype
也沒有指定out
,則結果的數據類型將是相應的浮點類型(例如,如果input
是 complexfloat,則為 float)。p(int,float,inf,-inf,'fro','nuc',可選的) -
規範的順序。默認值:
'fro'
可以計算以下範數:ord
矩陣範數
向量範數
“來回”
弗羅貝尼烏斯範數
-
‘nuc’
核規範
-
Number
-
總和(abs(x)**ord)**(1./ord)
向量範數可以跨任意維數計算。
input
對應的維度被展平為一維,在展平的維度上計算範數。Frobenius norm 在所有情況下都產生與
p=2
相同的結果,除非dim
是三個或更多暗淡的列表,在這種情況下,Frobenius norm 會引發錯誤。核範數隻能在兩個維度上精確計算。
dim(int,python的元組:ints,python:ints 列表,可選的) -指定
input
的哪個或多個維度來計算範數。如果dim
是None
,則將在input
的所有維度上計算範數。如果p
指示的範數類型不支持指定的維數,則會出現錯誤。keepdim(bool,可選的) -輸出張量是否保留
dim
。如果dim
=None
且out
=None
則忽略。默認值:False
out(Tensor,可選的) -輸出張量。如果
dim
=None
和out
=None
則忽略。dtype(
torch.dtype
, 可選的) -返回張量的所需數據類型。如果指定,則在執行操作時輸入張量將轉換為dtype
。默認值:無。
返回給定張量的矩陣範數或向量範數。
警告
torch.norm 已棄用,可能會在未來的 PyTorch 版本中刪除。它的文檔和行為可能不正確,並且不再積極維護。
在計算向量範數時使用
torch.linalg.norm()
或torch.linalg.vector_norm()
,在計算矩陣範數時使用torch.linalg.matrix_norm()
。但是請注意,這些函數的簽名與 torch.norm 的簽名略有不同。注意
盡管
p='fro'
支持任意數量的維度,但 Frobenius 範數的真正數學定義僅適用於恰好具有二維的張量。torch.linalg.norm()
和ord='fro'
與數學定義一致,因為它隻能應用於兩個維度。例子:
>>> import torch >>> a = torch.arange(9, dtype= torch.float) - 4 >>> b = a.reshape((3, 3)) >>> torch.norm(a) tensor(7.7460) >>> torch.norm(b) tensor(7.7460) >>> torch.norm(a, float('inf')) tensor(4.) >>> torch.norm(b, float('inf')) tensor(4.) >>> c = torch.tensor([[ 1, 2, 3],[-1, 1, 4]] , dtype= torch.float) >>> torch.norm(c, dim=0) tensor([1.4142, 2.2361, 5.0000]) >>> torch.norm(c, dim=1) tensor([3.7417, 4.2426]) >>> torch.norm(c, p=1, dim=1) tensor([6., 6.]) >>> d = torch.arange(8, dtype= torch.float).reshape(2,2,2) >>> torch.norm(d, dim=(1,2)) tensor([ 3.7417, 11.2250]) >>> torch.norm(d[0, :, :]), torch.norm(d[1, :, :]) (tensor(3.7417), tensor(11.2250))
參數:
相關用法
- Python PyTorch normal_用法及代碼示例
- Python PyTorch normal用法及代碼示例
- Python PyTorch no_grad用法及代碼示例
- Python PyTorch noop_hook用法及代碼示例
- Python PyTorch nonzero用法及代碼示例
- Python PyTorch nanquantile用法及代碼示例
- Python PyTorch nll_loss用法及代碼示例
- Python PyTorch narrow用法及代碼示例
- Python PyTorch ngrams_iterator用法及代碼示例
- Python PyTorch nansum用法及代碼示例
- Python PyTorch numericalize_tokens_from_iterator用法及代碼示例
- Python PyTorch neg用法及代碼示例
- Python PyTorch nanmedian用法及代碼示例
- Python PyTorch ndtri用法及代碼示例
- Python PyTorch ne用法及代碼示例
- Python PyTorch nextafter用法及代碼示例
- Python PyTorch numel用法及代碼示例
- Python PyTorch nanmean用法及代碼示例
- Python PyTorch ndtr用法及代碼示例
- Python PyTorch nan_to_num用法及代碼示例
- Python PyTorch frexp用法及代碼示例
- Python PyTorch jvp用法及代碼示例
- Python PyTorch cholesky用法及代碼示例
- Python PyTorch vdot用法及代碼示例
- Python PyTorch ELU用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.norm。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。