PyTorch torch.tril 関数
torch.trilは、PyTorch で行列の下三角部分(主対角線を含む)を抽出するために使用される関数です。上三角部分は 0 に設定されます。
関数定義
torch.tril(input, diagonal=0, out=None)
パラメータ説明:
input: 入力テンソルdiagonal: 対角線インデックス。0 は主対角線を表します。out: 出力テンソル
使用例
例
import torch
# 行列を作成
a = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 下三角部分を抽出
y = torch.tril(a)
print(y)
# 行列を作成
a = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 下三角部分を抽出
y = torch.tril(a)
print(y)
出力結果は次のとおりです:
tensor([[1, 0, 0],
[4, 5, 0],
[7, 8, 9]])
例
import torch
# 行列を作成
a = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 主対角線の1つ下の対角線までの下三角部分を抽出
y = torch.tril(a, diagonal=1)
print(y)
# 行列を作成
a = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 主対角線の1つ下の対角線までの下三角部分を抽出
y = torch.tril(a, diagonal=1)
print(y)
出力結果は次のとおりです:
tensor([[1, 2, 0],
[4, 5, 6],
[7, 8, 9]])
例
import torch
# 非正方行列を作成
a = torch.tensor([[1, 2, 3], [4, 5, 6]])
# 下三角部分を抽出
y = torch.tril(a)
print(y)
# 非正方行列を作成
a = torch.tensor([[1, 2, 3], [4, 5, 6]])
# 下三角部分を抽出
y = torch.tril(a)
print(y)
出力結果は次のとおりです:
tensor([[1, 0, 0],
[4, 5, 0]])
その他の拡張
Pytorch torch リファレンスマニュアル