PyTorch 張量支持多種操作,這些操作主要可以分為兩大類:張量操作和張量與標量的交互操作。
索引和切片:
張量[開始:結束:步長]
:用于截取張量的子集。張量[:, 列名]
或 張量[行名, :]
:按列或行選擇元素。張量[開始:結束, 開始:結束]
:選擇子矩陣。數學運算:
+
, -
, *
, /
, //
:基本的算術運算。**
:冪運算。abs()
, acos()
, asin()
, atan()
, ceil()
, cos()
, cosh()
, deg2rad()
, dist()
, e()
(自然對數的底數 e),erf()
, erfc()
, exp()
, expm1()
, fabs()
, factorial()
, floor()
, fmod()
, frexp()
, fsum()
, gamma()
, gcd()
, hypot()
, inf()
, isclose()
, isfinite()
, isinf()
, isnan()
, ldexp()
, lgamma()
, log()
, log10()
, log1p()
, log2()
, modf()
, nan_to_num()
, permute()
, pow()
, prod()
, rad2deg()
, remainder()
, round()
, sign()
, sin()
, sinh()
, sqrt()
, tan()
, tanh()
, transpose()
等。統計函數:
mean()
, median()
, mode()
, std()
, var()
等。線性代數操作:
addmm()
, addmv()
, addr()
, bmm()
, bmv()
, dot()
, eig()
, inv()
, matmul()
, mm()
, mv()
, qr()
, symeig()
, svd()
等。其他操作:
expand_as()
, flatten()
, gather()
, index_select()
, permute()
, repeat_interleave()
, reshape()
, scatter_add()
, scatter_nd()
, shape()
, squeeze()
, stack()
, unsqueeze()
等。廣播:當張量與標量進行算術運算時,標量會自動廣播到張量的形狀以進行運算。
與標量的算術運算:
張量 + 標量
張量 - 標量
張量 * 標量
張量 / 標量
與標量的比較運算:
==
, ~=
, <
, <=
, >
, >=
等。其他操作:
torch.all()
, torch.any()
, torch.argmax()
, torch.argmin()
, torch.argmax(dim=None)
, torch.argmax(dim=某個維度)
, torch.any(dim=None)
, torch.any(dim=某個維度)
, torch.eq()
, torch.exp()
, torch.log()
, torch.log10()
, torch.log1p()
, torch.log2()
, torch.max()
, torch.min()
, torch.mean()
, torch.median()
, torch.mode()
, torch.norm()
, torch.prod()
, torch.std()
, torch.sum()
, torch.tan()
等。請注意,上述列表可能并不全面,PyTorch 的張量操作會隨著版本的更新而有所變化。為了獲取最準確的信息,建議查閱最新的 PyTorch 官方文檔。