Hello, PyTorch
PyTorch入門
PyTorchによる機械学習 & 自動微分 with GPU

PyTorch はGPUアクセラレーションをサポートした 自動微分 ・ 最適化 ライブラリです。
自動微分
ニューラルネット は偏微分を多用するので PyTorch にも自動微分機能がついています
例えば、
を微分してみましょう。
class torch.Tenosr が持つ .backward() メソッドを使う事で微分を行なってくれます。
二階微分だって出来ます。
当然、偏微分だって出来ます。
最適化
ニューラルネットの学習には最適化の計算が必須です。 当然、PyTorchにも様々な最適化アルゴリズムが実装されています。
例えば、この式の最小値を求めてみましょう。
PyTorch with GPU
PyTorchで、どうやってGPUを使うかを見ていきましょう。 まずは、CPUで行列の積を求めてみます。 そもそも、行列積の計算は オーダ $O(n^3) $ です。 愚直にCPUでやると遅い。
次にGPUにデータを送って計算させてみます。
GPUにデータを載せるには、torch.Tensor オブジェクトが持つ .cuda() メソッドを使います。 さらに一般化したメソッドに、 .to(device)もあります。
ちなみに、CPUとGPU別々にデータが格納されているなら、同じ場所にデータを置いてあげないと計算できません。
一通りPyTorchの使い方を学んだので次から早速ニューラルネットを実装してみましょう
Last updated
Was this helpful?