Python
 Computer >> コンピューター >  >> プログラミング >> Python

PyTorchでテンソルに参加するにはどうすればよいですか?


torch.cat()を使用して、2つ以上のテンソルに参加できます。 およびtorch.stack() torch.cat() torch.stack()に対して、2つ以上のテンソルを連結するために使用されます テンソルをスタックするために使用されます。 0次元、-1次元など、さまざまな次元でテンソルを結合できます。

両方のtorch.cat() およびtorch.stack() テンソルを結合するために使用されます。では、これら2つの方法の基本的な違いは何ですか?

  • torch.cat() 既存の次元に沿って一連のテンソルを連結するため、テンソルの次元は変更されません。

  • torch.stack() 新しい次元に沿ってテンソルを積み重ね、その結果、次元が増加します。

ステップ

  • 必要なライブラリをインポートします。以下のすべての例で、必要なPythonライブラリはトーチです。 。すでにインストールされていることを確認してください。

  • 2つ以上のPyTorchテンソルを作成し、それらを印刷します。

  • torch.cat()を使用する またはtorch.stack() 上記で作成したテンソルに参加します。特定の次元でテンソルを結合するために、次元、つまり0、-1を指定します

  • 最後に、連結またはスタックされたテンソルを印刷します。

例1

# Python program to join tensors in PyTorch
# import necessary library
import torch

# create tensors
T1 = torch.Tensor([1,2,3,4])
T2 = torch.Tensor([0,3,4,1])
T3 = torch.Tensor([4,3,2,5])

# print above created tensors
print("T1:", T1)
print("T2:", T2)
print("T3:", T3)

# join (concatenate) above tensors using torch.cat()
T = torch.cat((T1,T2,T3))
# print final tensor after concatenation
print("T:",T)

出力

上記のPython3コードを実行すると、次の出力が生成されます

T1: tensor([1., 2., 3., 4.])
T2: tensor([0., 3., 4., 1.])
T3: tensor([4., 3., 2., 5.])
T: tensor([1., 2., 3., 4., 0., 3., 4., 1., 4., 3., 2., 5.])

例2

# import necessary library
import torch

# create tensors
T1 = torch.Tensor([[1,2],[3,4]])
T2 = torch.Tensor([[0,3],[4,1]])
T3 = torch.Tensor([[4,3],[2,5]])

# print above created tensors
print("T1:\n", T1)
print("T2:\n", T2)
print("T3:\n", T3)

print("join(concatenate) tensors in the 0 dimension")
T = torch.cat((T1,T2,T3), 0)
print("T:\n", T)

print("join(concatenate) tensors in the -1 dimension")
T = torch.cat((T1,T2,T3), -1)
print("T:\n", T)

出力

上記のPython3コードを実行すると、次の出力が生成されます

T1:
tensor([[1., 2.],
         [3., 4.]])
T2:
tensor([[0., 3.],
         [4., 1.]])
T3:
tensor([[4., 3.],
         [2., 5.]])
join(concatenate) tensors in the 0 dimension
T:
tensor([[1., 2.],
         [3., 4.],
         [0., 3.],
         [4., 1.],
         [4., 3.],
         [2., 5.]])
join(concatenate) tensors in the -1 dimension
T:
tensor([[1., 2., 0., 3., 4., 3.],
         [3., 4., 4., 1., 2., 5.]])

上記の例では、2Dテンソルは0および-1次元に沿って連結されています。 0次元で連結すると、行数が増え、列数は変わりません。

例3

# Python program to join tensors in PyTorch
# import necessary library
import torch

# create tensors
T1 = torch.Tensor([1,2,3,4])
T2 = torch.Tensor([0,3,4,1])
T3 = torch.Tensor([4,3,2,5])

# print above created tensors
print("T1:", T1)
print("T2:", T2)
print("T3:", T3)

# join above tensor using "torch.stack()"
print("join(stack) tensors")
T = torch.stack((T1,T2,T3))

# print final tensor after join
print("T:\n",T)
print("join(stack) tensors in the 0 dimension")
T = torch.stack((T1,T2,T3), 0)

print("T:\n", T)
print("join(stack) tensors in the -1 dimension")
T = torch.stack((T1,T2,T3), -1)
print("T:\n", T)

出力

上記のPython3コードを実行すると、次の出力が生成されます

T1: tensor([1., 2., 3., 4.])
T2: tensor([0., 3., 4., 1.])
T3: tensor([4., 3., 2., 5.])
join(stack) tensors
T:
tensor([[1., 2., 3., 4.],
         [0., 3., 4., 1.],
         [4., 3., 2., 5.]])
join(stack) tensors in the 0 dimension
T:
tensor([[1., 2., 3., 4.],
         [0., 3., 4., 1.],
         [4., 3., 2., 5.]])
join(stack) tensors in the -1 dimension
T:
tensor([[1., 0., 4.],
         [2., 3., 3.],
         [3., 4., 2.],
         [4., 1., 5.]])

上記の例では、1Dテンソルが積み重ねられており、最後のテンソルが2Dテンソルであることがわかります。

例4

# import necessary library
import torch

# create tensors
T1 = torch.Tensor([[1,2],[3,4]])
T2 = torch.Tensor([[0,3],[4,1]])
T3 = torch.Tensor([[4,3],[2,5]])

# print above created tensors
print("T1:\n", T1)
print("T2:\n", T2)
print("T3:\n", T3)

print("Join (stack)tensors in the 0 dimension")
T = torch.stack((T1,T2,T3), 0)
print("T:\n", T)

print("Join(stack) tensors in the -1 dimension")
T = torch.stack((T1,T2,T3), -1)
print("T:\n", T)

出力

上記のPython3コードを実行すると、次の出力が生成されます。

T1:
tensor([[1., 2.],
         [3., 4.]])
T2:
tensor([[0., 3.],
         [4., 1.]])
T3:
tensor([[4., 3.],
         [2., 5.]])
Join (stack)tensors in the 0 dimension
T:
tensor([[[1., 2.],
         [3., 4.]],
         [[0., 3.],
         [4., 1.]],
         [[4., 3.],
         [2., 5.]]])
Join(stack) tensors in the -1 dimension
T:
tensor([[[1., 0., 4.],
         [2., 3., 3.]],
         [[3., 4., 2.],
         [4., 1., 5.]]])

上記の例では、2Dテンソルが結合(スタック)されて3Dテンソルが作成されていることがわかります。


  1. ズームミーティングを設定または参加する方法

    ズームは、今日の社会的に離れた世界で、同僚や気になる他の人々と連絡を取り合うのに最適な方法です。使い方は簡単で、会議を作成する人だけがソフトウェアをダウンロードする必要があります。人々が会議に参加するためのいくつかの異なる方法があります。 しかし、それはどのように機能しますか? 会議の作成 Zoomコールのホストになることを計画している場合は、最初にhttps://zoom.us/support/downloadからソフトウェアをダウンロードする必要があります。ソフトウェアをダウンロードしたら、通常どおりにインストールします。 1. [ズーム]ダイアログボックスが表示されたら、[サイン

  2. ポケモン ゴーでチームに参加する方法

    Pokemon GO のチームは、人気のモバイルキャッチ・エム・オール・ゲームの重要な側面であるため、すぐに対処されないのは少し奇妙です.チームは、ゲーム内のインセンティブを受け取るために参加できるポケモン GO の同盟です。したがって、ポケモン ゴーでチームに参加する方法について詳しく知りたい場合は、この記事がまさに必要なものです。この記事では、ポケモンGOでチームを選ぶ方法を知ることができます.それでは、読み続けてください! ポケモン ゴーでチームに参加する方法 チームは、ポケモン GO ユーザーによって形成される場合があります。ジムバトルは重要です。以下は、ポケモン ゴーでチーム