Image

PyTorchのテンソルというデータフレームで計算をしよう!PyTorchでディープラーニング!

PyTorchのテンソルでの計算のやり方を解説しています。PythonでディープラーニングをするにはPyTorchのテンソルで基本的な計算をできるようになろう。ということで早速、まずテンソルとはデータを格納するためのリストのようなものです。

PyTorchのテンソルで計算する

今回はPyTorchのテンソルを計算してみましょう

テンソルの計算や使い方についてまとめています。

テンソルの計算の基本を抑えて機械学習をできるようにしていきましょう。

目次   

01. PyTorchのテンソルを計算するときのルール

02. テンソルで四則計算を行う

03. テンソルに用意されている数学的関数とは

04. まとめ


01. PyTorchのテンソルを計算するときのルール


テンソルを使用した四則計算はテンソル同士、あるいはスカラー間のみ可能です。

スカラーとは大きさのみを表したものです。

テンソルとndarrayの計算はできません。

PyTorchのテンソルの基本的な使い方

テンソルとndarrayで計算したい時はデータの型をテンソルかndarrayに統一する必要があります

テンソル同士の計算でも、データの型を合わせる必要があります。

ちなみに便利なことにテンソル同士の計算では自動的に次元が補完されて計算することができます

このような補完機能もあるためあまり難しく考えずにPyTorchで計算することができます。


02. テンソルで四則計算を行う



z = torch.tensor([[1,2,3],[4,5,6]], dtype=torch.float64)
print(z + 2)
print(z - 2)
print(z * 2)
print(z / 2)
tensor([3,4,5],
[6,7,8], dtype....) #.... = =torch.float64
tensor([-1,0,1],
[2,3,4], dtype....)
tensor([2,4,6],
[8,10,12], dtype....)
tensor([0.5000,1.0000,1.5000],
[2.0000,2.50000,3.0000], dtype....)


PyTorchのテンソルではこのように計算を行うことが可能です。

dtypeはデータ型を指定しています。

データ型についてよく分からない人はPythonとC言語のデータ型についてを参照してみて下さい。



x = torch.tensor([[1,2,3],[4,5,6]], dtype=torch.float64)
y = torch.tensor([[4,5,6],[7,8,9]], dtype=torch.float64)
print(x + y)
print(x - y)
print(x * y)
print(x / y)
tensor([[5.,7.,9.],
[11.,13.,15.]], dtype=torch.float64)
tensor([[-3.,-3.,-3.,],
[-3.,-3.,-3.,]], d....64)
tensor([[4.,10.,18.],
[28.,40.,54.]], d....64)
tensor([[0.2500,0.4000,0.5000],
[0.5714,0.6250,0.6667]], d....64)


テンソル同士の計算も同様に行うことができます

しかし一般的な行列計算とは異なります。


03. テンソルに用意されている数学的関数


PyTorchのテンソルには最小値min、最大値max、合計値sum、平均値mean、などの便利な数学的関数を標準で使用することができます



z = torch.tensor([[1,2,3],[4,5,6]], dype=torch.float64)
print(torch.min(z)) #最小値
print(torch.max(z)) #最大値
print(torch.mean(z)) #平均値
print(torch.sum(z)) #合計値
tensor(1., dtype=torch.float64)
tensor(6., dtype=torch.float64)
tensor(3.5000, dtype=torch.float64)
tensor(21., dtype=torch.float64)
z = torch.tensor([[1,2,3],[4,5,6]], dtype=torch.float64)
print(torch.sum(z).item()) #合計値
21.0


テンソルを使用した計算ではテンソルで返されます。

そのため、値自体を取り出したい場合はitemメソッドで取り出すことが可能です


04. まとめ


お疲れ様でした。

ここまで読んでいただきありがとうございました。

PyTorchのテンソルでの計算と数学的関数について押さえることができたと思います。