もっと詳しく

PyTorchは、Pythonプログラミング言語用のオープンソースフレームワークです。

テンソルは、データを格納するために使用される多次元配列です。 したがって、テンソルを使用するには、トーチモジュールをインポートする必要があります。

テンソルを作成するために使用されるメソッドはtensor()です。

構文:
torch.tensor(data)

ここで、データは多次元配列です。

torch.cumsum()

torch.cumsum()は、行または列にまたがる2次元テンソルの要素の累積合計を返します。

構文:
torch.cumsum(tensor_object、dim)

パラメーター:

  1. 最初のパラメーターとしてtensor_objectを取ります。 それは二次元でなければなりません。
  2. dim = 0は列単位の計算を指定し、dim=1は行単位の計算を指定します。

例1:
この例では、4つの行と4つの列を持つテンソルを作成し、行全体の各要素の累積合計を返します。

#importトーチモジュール
輸入 松明

#create tensor
data1 = 松明。テンソル(([[2,3,4,5][1,3,5,3][2,3,2,1][2,3,4,2]])。

#画面
印刷((「実際のテンソル:」)。
印刷((data1)。

印刷((「行全体の累積合計:」)。
#return累積合計
印刷((松明。cumsum((data11)。)。

出力:

実際のテンソル:
テンソル(([[2, 3, 4, 5]
[1, 3, 5, 3]
[2, 3, 2, 1]
[2, 3, 4, 2]])。
行全体の累積合計:
テンソル(([[ 2,  5,  9, 14]
[ 1,  4,  9, 12]
[ 2,  5,  7,  8]
[ 2,  5,  9, 11]])。

働く:
行-1:2,2 + 3,2 + 3 + 4,2 + 3 + 4 + 5 = [ 2, 5, 9, 14]
行2:1,1 + 3,1 + 3 + 5,1 + 3 + 5 + 3 = [ 1, 4, 9, 12]

行3:2,2 + 3,2 + 3 + 2,2 + 3 + 2 + 1 = [ 2, 5, 7, 8]
行-4:2,2 + 3,2 + 3 + 4,2 + 3 + 4 + 2 = [ 2, 5, 9, 11]

例2:
この例では、4つの行と4つの列を持つテンソルを作成し、列全体の各要素の累積合計を返します。

#importトーチモジュール
輸入 松明

#create tensor
data1 = 松明。テンソル(([[2,3,4,5][1,3,5,3][2,3,2,1][2,3,4,2]])。

#画面
印刷((「実際のテンソル:」)。
印刷((data1)。

印刷((「列全体の累積合計:」)。
#return累積合計
印刷((松明。cumsum((data10)。)。

出力:

実際のテンソル:
テンソル(([[2, 3, 4, 5]
[1, 3, 5, 3]
[2, 3, 2, 1]
[2, 3, 4, 2]])。
列全体の累積合計:
テンソル(([[ 2,  3,  4,  5]
[ 3,  6,  9,  8]
[ 5,  9, 11,  9]
[ 7, 12, 15, 11]])。

働く:
列-1:2,2 + 1,2 + 1 + 2,2 + 1 + 2 + 2 =[ 2, 3, 5, 7]
列2:3,3 + 3,3 + 3 + 3,3 + 3 + 3 + 3 = [ 3,6,9,12]
列3:4,4 + 5,4 + 5 + 2,4 + 5 + 2 + 4 = [4,9,11,15]
列-4:5,5 + 3,5 + 3 + 1,5 + 3 + 1 + 2 = [ 5,8,9,11]

CPUを使用する

CPUでcumsum()関数を実行する場合は、cpu()関数を使用してテンソルを作成する必要があります。 これはCPUマシンで実行されます。

このとき、テンソルを作成するときに、cpu()関数を使用できます。

構文:
torch.tensor(data).cpu()

例1:
この例では、4つの行と4つの列を持つCPUにテンソルを作成し、行全体の各要素の累積合計を返します。

#importトーチモジュール
輸入 松明

#create tensor
data1 = 松明。テンソル(([[2,3,4,5][1,3,5,3][2,3,2,1][2,3,4,2]])。CPU(()。

#画面
印刷((「実際のテンソル:」)。
印刷((data1)。

印刷((「行全体の累積合計:」)。
#return累積合計
印刷((松明。cumsum((data11)。)。

出力:

実際のテンソル:
テンソル(([[2, 3, 4, 5]
[1, 3, 5, 3]
[2, 3, 2, 1]
[2, 3, 4, 2]])。
行全体の累積合計:
テンソル(([[ 2,  5,  9, 14]
[ 1,  4,  9, 12]
[ 2,  5,  7,  8]
[ 2,  5,  9, 11]])。

働く:
行-1:2,2 + 3,2 + 3 + 4,2 + 3 + 4 + 5 = [ 2, 5, 9, 14]
行2:1,1 + 3,1 + 3 + 5,1 + 3 + 5 + 3 = [ 1, 4, 9, 12]

行3:2,2 + 3,2 + 3 + 2,2 + 3 + 2 + 1 = [ 2, 5, 7, 8]
行-4:2,2 + 3,2 + 3 + 4,2 + 3 + 4 + 2 = [ 2, 5, 9, 11]

例2:
この例では、4つの行と4つの列を持つCPUにテンソルを作成し、列全体の各要素の累積合計を返します。

#importトーチモジュール
輸入 松明

#create tensor
data1 = 松明。テンソル(([[2,3,4,5][1,3,5,3][2,3,2,1][2,3,4,2]])。CPU(()。

#画面
印刷((「実際のテンソル:」)。
印刷((data1)。

印刷((「列全体の累積合計:」)。
#return累積合計
印刷((松明。cumsum((data10)。)。

出力:

実際のテンソル:
テンソル(([[2, 3, 4, 5]
[1, 3, 5, 3]
[2, 3, 2, 1]
[2, 3, 4, 2]])。
列全体の累積合計:
テンソル(([[ 2,  3,  4,  5]
[ 3,  6,  9,  8]
[ 5,  9, 11,  9]
[ 7, 12, 15, 11]])。

働く:
列-1:2,2 + 1,2 + 1 + 2,2 + 1 + 2 + 2 =[ 2, 3, 5, 7]
列2:3,3 + 3,3 + 3 + 3,3 + 3 + 3 + 3 = [ 3,6,9,12]
列3:4,4 + 5,4 + 5 + 2,4 + 5 + 2 + 4 = [4,9,11,15]
列-4:5,5 + 3,5 + 3 + 1,5 + 3 + 1 + 2 = [ 5,8,9,11]

結論

このPyTorchチュートリアルでは、torch.cumsum()関数を使用してテンソルに対して累積合計演算を実行する方法を説明しました。 行間または列間で2次元テンソルの要素の累積合計を返します。 また、cpu()関数を使用してこの関数をCPUに実装しました。

The post PyTorch – cumsum() appeared first on Gamingsym Japan.