PyTorch torch.baddbmm 関数


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

torch.baddbmmPyTorch において、バッチ行列乗算を実行し、入力バッチ行列に加算する関数です。batch1 と batch2 の各行列ペアに対して行列乗算を行い、input 内の対応する行列と加算します。

関数定義

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

パラメータ:

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

戻り値:

  • torch.Tensor: バッチ行列乗算の結果と入力バッチ行列の合計を返します。形状は (b, n, p) です。

使用例

実例

import torch

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

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

print("入力バッチ行列形状:", input.shape)
print("バッチ行列1形状:", batch1.shape)
print("バッチ行列2形状:", batch2.shape)
print("結果形状:", result.shape)
print(result[0])  # 最初の結果を出力

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

输入批量矩阵形状: torch.Size([10, 3, 3])
批量矩阵1形状: torch.Size([10, 3, 4])
批量矩阵2形状: torch.Size([10, 4, 3])
结果形状: torch.Size([10, 3, 3])
tensor([[-1.0917,  0.0174, -0.6599],
        [ 1.0403, -0.3905, -0.6314],
        [ 0.0988, -0.3047,  0.4841]])

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

その他の拡張