PyTorch torch.addbmm 関数


Pytorch torch 参考手册Pytorch torch リファレンスマニュアル

torch.addbmmPyTorch において、バッチ行列乗算の結果を入力行列に加算するために使用される関数です。batch1 と batch2 の各行列のペアに対して行列乗算を行い、すべての結果を合計して input に加算します。

関数定義

torch.addbmm(input, batch1, batch2, *, beta=1.0, alpha=1.0, out=None)

パラメータ:

  • input(Tensor): 入力行列。結果に加算されます。
  • batch1(Tensor): 最初のバッチ行列。形状は (b, n, m) です。
  • batch2(Tensor): 2 番目のバッチ行列。形状は (b, m, p) です。
  • beta(float, オプション): input に乗算する係数。デフォルトは 1.0 です。
  • alpha(float, オプション): batch1 @ batch2 の結果に乗算する係数。デフォルトは 1.0 です。
  • out(Tensor, オプション): 出力テンソル。

戻り値:

  • torch.Tensor: バッチ行列乗算の結果と入力行列の和を返します。

使用例

実例

import torch

# 入力行列とバッチ行列を作成
input = torch.randn(3, 3)
batch1 = torch.randn(10, 3, 4)
batch2 = torch.randn(10, 4, 3)

# addbmm を実行
result = torch.addbmm(input, batch1, batch2)

print("入力行列の形状:", input.shape)
print("バッチ行列1の形状:", batch1.shape)
print("バッチ行列2の形状:", batch2.shape)
print("結果の形状:", result.shape)
print(result)

出力結果は次のとおりです:

输入矩阵形状: torch.Size([3, 3])
批量矩阵1形状: torch.Size([10, 3, 4])
批量矩阵2形状: torch.Size([10, 4, 3])
结果形状: torch.Size([3, 3])
tensor([[-0.2875, -0.6518,  0.1207],
        [-0.2746,  0.5563, -0.2281],
        [ 0.3315,  0.1649,  0.2145]])

Pytorch torch 参考手册Pytorch torch リファレンスマニュアル

その他の拡張