本文簡要介紹python語言中 torch.trapezoid
的用法。
用法:
torch.trapezoid(y, x=None, *, dx=None, dim=- 1) → Tensor
沿
dim
計算 trapezoidal rule 。默認情況下,元素之間的間距假定為 1,但dx
可用於指定不同的常數間距,而x
可用於指定沿dim
的任意間距。假設
y
是具有元素 的一維張量,則默認計算為當指定
dx
時,計算變為有效地將結果乘以
dx
。當指定x
時,假設x
也是具有元素 的一維張量,則計算變為當
x
和y
大小相同時,計算如上所述,不需要廣播。當它們的大小不同時,該函數的廣播行為如下。對於x
和y
,該函數計算沿維度dim
的連續元素之間的差異。這有效地創建了兩個張量x_diff
和y_diff
,它們具有與原始張量相同的形狀,除了它們沿維度dim
的長度減 1。之後,這兩個張量一起廣播以計算最終輸出作為梯形規則的一部分。有關詳細信息,請參閱下麵的示例。注意
梯形法則是一種通過對函數的左右黎曼和求平均來逼近函數定積分的技術。隨著分區分辨率的增加,近似值變得更加準確。
例子:
>>> # Computes the trapezoidal rule in 1D, spacing is implicitly 1 >>> y = torch.tensor([1, 5, 10]) >>> torch.trapezoid(y) tensor(10.5) >>> # Computes the same trapezoidal rule directly to verify >>> (1 + 10 + 10) / 2 10.5 >>> # Computes the trapezoidal rule in 1D with constant spacing of 2 >>> # NOTE: the result is the same as before, but multiplied by 2 >>> torch.trapezoid(y, dx=2) 21.0 >>> # Computes the trapezoidal rule in 1D with arbitrary spacing >>> x = torch.tensor([1, 3, 6]) >>> torch.trapezoid(y, x) 28.5 >>> # Computes the same trapezoidal rule directly to verify >>> ((3 - 1) * (1 + 5) + (6 - 3) * (5 + 10)) / 2 28.5 >>> # Computes the trapezoidal rule for each row of a 3x3 matrix >>> y = torch.arange(9).reshape(3, 3) tensor([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) >>> torch.trapezoid(y) tensor([ 2., 8., 14.]) >>> # Computes the trapezoidal rule for each column of the matrix >>> torch.trapezoid(y, dim=0) tensor([ 6., 8., 10.]) >>> # Computes the trapezoidal rule for each row of a 3x3 ones matrix >>> # with the same arbitrary spacing >>> y = torch.ones(3, 3) >>> x = torch.tensor([1, 3, 6]) >>> torch.trapezoid(y, x) array([5., 5., 5.]) >>> # Computes the trapezoidal rule for each row of a 3x3 ones matrix >>> # with different arbitrary spacing per row >>> y = torch.ones(3, 3) >>> x = torch.tensor([[1, 2, 3], [1, 3, 5], [1, 4, 7]]) >>> torch.trapezoid(y, x) array([2., 4., 6.])
參數:
關鍵字參數:
相關用法
- Python PyTorch trace_module用法及代碼示例
- Python PyTorch transpose用法及代碼示例
- Python PyTorch trace用法及代碼示例
- Python PyTorch trunc用法及代碼示例
- Python PyTorch triu_indices用法及代碼示例
- Python PyTorch triangular_solve用法及代碼示例
- Python PyTorch tril_indices用法及代碼示例
- Python PyTorch tril用法及代碼示例
- Python PyTorch triu用法及代碼示例
- Python PyTorch tensorinv用法及代碼示例
- Python PyTorch tensor用法及代碼示例
- Python PyTorch to_map_style_dataset用法及代碼示例
- Python PyTorch topk用法及代碼示例
- Python PyTorch tensorsolve用法及代碼示例
- Python PyTorch tile用法及代碼示例
- Python PyTorch tanh用法及代碼示例
- Python PyTorch take_along_dim用法及代碼示例
- Python PyTorch tensor_split用法及代碼示例
- Python PyTorch t用法及代碼示例
- Python PyTorch take用法及代碼示例
- Python PyTorch tensordot用法及代碼示例
- Python PyTorch tan用法及代碼示例
- Python PyTorch frexp用法及代碼示例
- Python PyTorch jvp用法及代碼示例
- Python PyTorch cholesky用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.trapezoid。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。