PyTorch torch.broadcast_to 関数
torch.broadcast_toは PyTorch でテンソルを指定した形状にブロードキャストするための関数です。入力テンソルのビューを返し、ターゲット形状にブロードキャストされます。ブロードキャスト規則は NumPy のブロードキャストメカニズムに従います。
関数定義
torch.broadcast_to(input, shape)
使用例
例
import torch
# 基本的な使い方:1次元テンソルを2次元にブロードキャスト
x = torch.tensor([1, 2, 3])
y = torch.broadcast_to(x, (3, 3))
print("元の:", x)
print("ブロードキャスト後:")
print(y)
# tensor([[1, 2, 3],
# [1, 2, 3],
# [1, 2, 3]])
# スカラーをより大きな形状にブロードキャスト
x = torch.tensor(5)
y = torch.broadcast_to(x, (2, 3, 4))
print("スカラーを (2,3,4) にブロードキャスト:", y.shape)
# 2次元を3次元にブロードキャスト
x = torch.tensor([[1, 2], [3, 4]]) # (2, 2)
y = torch.broadcast_to(x, (3, 2, 2))
print("(3,2,2) にブロードキャスト:", y.shape)
print(y)
# 基本的な使い方:1次元テンソルを2次元にブロードキャスト
x = torch.tensor([1, 2, 3])
y = torch.broadcast_to(x, (3, 3))
print("元の:", x)
print("ブロードキャスト後:")
print(y)
# tensor([[1, 2, 3],
# [1, 2, 3],
# [1, 2, 3]])
# スカラーをより大きな形状にブロードキャスト
x = torch.tensor(5)
y = torch.broadcast_to(x, (2, 3, 4))
print("スカラーを (2,3,4) にブロードキャスト:", y.shape)
# 2次元を3次元にブロードキャスト
x = torch.tensor([[1, 2], [3, 4]]) # (2, 2)
y = torch.broadcast_to(x, (3, 2, 2))
print("(3,2,2) にブロードキャスト:", y.shape)
print(y)
その他の拡張
Pytorch torch リファレンスマニュアル