pytorch - 和expand_asを拡大

拡大1.(サイズ)

例:

x = torch.rand(1,2,3)
print(x)
print("x.shape:", x.shape)
y = x.expand(2, 2,3)
print(y)
print("y.shape:", y.shape)

出力:

tensor([[[0.8020, 0.2300, 0.8632],
         [0.9463, 0.0172, 0.9756]]])
x.shape: torch.Size([1, 2, 3])

tensor([[[0.8020, 0.2300, 0.8632],
         [0.9463, 0.0172, 0.9756]],

        [[0.8020, 0.2300, 0.8632],
         [0.9463, 0.0172, 0.9756]]])
y.shape: torch.Size([2, 2, 3])

ノートは
、例えば、最初の拡張寸法上の例では、変化があれば、の次元に拡張するように操作されたテンソルの次元数にのみ展開x.expand(1, 4, 3)与えられ、ラインプレゼンテーション面をexpand_asとほぼ同じ、expand_asとアウトを展開しますパラメータがテンソルであります

2. tensor.expand_as(tensor1)

例:

x = torch.rand(1,2,3)
z = torch.rand(3, 2,3)
print(x)
print("x.shape:", x.shape)
y = x.expand_as(z)
print(y)
print("y.shape:", y.shape)

出力:

tensor([[[0.5696, 0.3571, 0.2565],
         [0.9646, 0.5754, 0.7819]]])
x.shape: torch.Size([1, 2, 3])

tensor([[[0.5696, 0.3571, 0.2565],
         [0.9646, 0.5754, 0.7819]],

        [[0.5696, 0.3571, 0.2565],
         [0.9646, 0.5754, 0.7819]],

        [[0.5696, 0.3571, 0.2565],
         [0.9646, 0.5754, 0.7819]]])
y.shape: torch.Size([3, 2, 3])
公開された33元の記事 ウォンの賞賛1 ビュー2609

おすすめ

転載: blog.csdn.net/orangerfun/article/details/104029156