PyTorch torch.baddbmm 関数
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]) # 最初の結果を出力
# 入力バッチ行列とバッチ行列を作成します
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 リファレンスマニュアル