PyTorch torch.concatenate 関数
torch.concatenateは、PyTorch において指定された次元に沿って複数のテンソルを連結するための関数です。これはtorch.cat同じ関数であり、複数のテンソルを指定された次元に沿って連結し、より大きなテンソルにします。
関数定義
torch.concatenate(tensors, dim=0, out=None)
引数:
tensors(Sequence of Tensor): 連結するテンソルのシーケンス。すべてのテンソルは、連結次元を除く他の次元で形状が同じである必要があります。dim(int, オプション): 連結する次元。デフォルトは 0。out(Tensor, オプション): 出力テンソル。
戻り値:
torch.Tensor: 連結後のテンソルを返します。
使用例
実例
import torch
# 複数のテンソルを作成
a = torch.tensor([1, 2])
b = torch.tensor([3, 4])
c = torch.tensor([5, 6])
# 複数のテンソルを連結
result = torch.concatenate([a, b, c])
print(result)
# 複数のテンソルを作成
a = torch.tensor([1, 2])
b = torch.tensor([3, 4])
c = torch.tensor([5, 6])
# 複数のテンソルを連結
result = torch.concatenate([a, b, c])
print(result)
出力結果は次のとおりです:
tensor([1, 2, 3, 4, 5, 6])
実例
import torch
# 2つの2次元テンソルを作成
a = torch.randn(2, 3)
b = torch.randn(2, 3)
# 最初の次元に沿って連結
c = torch.concatenate([a, b], dim=0)
print("a の形状:", a.shape)
print("b の形状:", b.shape)
print("c の形状:", c.shape)
# 2つの2次元テンソルを作成
a = torch.randn(2, 3)
b = torch.randn(2, 3)
# 最初の次元に沿って連結
c = torch.concatenate([a, b], dim=0)
print("a の形状:", a.shape)
print("b の形状:", b.shape)
print("c の形状:", c.shape)
出力結果は次のとおりです:
a 的形状: torch.Size([2, 3]) b 的形状: torch.Size([2, 3]) c 的形状: torch.Size([4, 3])
注意:torch.concatenateであるtorch.catのエイリアスであり、両者の機能は完全に同じです。実際のコードでは、より一般的に使用されるのはtorch.cat。
その他の拡張
Pytorch torch リファレンスマニュアル