【Python】PyTorchとは:特徴やインストール方法

時計 2022.12.13 / 時計

【Python】PyTorchとは:特徴やインストール方法

記事ではPythonによる機械学習で利用されるライブラリの一つ、PyTorchについて解説していきます。

PyTorchはPythonの機械学習フレームワークの一つであり、その他にもTensorflowやKerasといったディープラーニングを実装するためのフレームワークが存在します。これらフレームワークの登場により、研究者以外のプログラマーでもディープラーニングを利用して、比較的容易に人工知能を開発できるようになりました。

ここでは近年人気が上昇しているPyTorchに焦点をあてます。本記事を通して、PyTorchの特徴やインストール方法を学んで、実際に使えるようになりましょう。

PyTorch

PyTorchとは

PyTorchとはPythonによる機械学習で利用されるフレームワーク(ライブラリ)です。
簡単に言うとPythonで機械学習(ディープラーニング)コードを簡単に書くことができるようにするツールです。

機械学習について詳しく知りたい方は以下記事をご参照ください。

「Torch」というlua言語を使ったフレームワーク(ニューラルネットワークライブラリ)と「Python」を組み合わせて「PyTorch(パイトーチ)」という名前になっています。

2016年に発表された機械学習フレームワーク(ライブラリ)であり、比較的新しいフレームワークです。

PyTorchはFacebookのAI Research lab(FAIR)が開発していましたが、今ではオープンソースコミュニティに移譲されたため、無料で誰もが使えるようになりました。そのため今では世界中で広く利用されている機械学習(深層学習用)フレームワークとなっています。

機械学習(深層学習)フレームワークにはPyTorchのほかに、Googleが開発したTensorFlowやKeras、Chainerなどがあります。

近年の人工知能の飛躍的な発展はディープラーニング(Deep Learning)による貢献が大きいです。研究者や技術者のみが扱っていた高度な技術でしたが、今ではPytorchを扱うことができれば誰でもディープラーニングを扱うことができ、比較的容易に人工知能を開発できるようになりました。

PyTorchの特徴

PyTorchの特徴は以下の通りです。

  • Numpyに近い操作性で直感的にコードが記述できる
  • ネット上に情報が豊富に存在する
  • GPU上で計算が可能
  • Eager Execution(Define-by-Run)
  • 研究用途に使われることが多い

PyTorchはPythonライブラリの「Numpy」と操作方法が似ています。そのため「Numpy」を使ったことがある人はすぐにPyTorchの操作も慣れるでしょう。またPyTorchの実行(計算)にGPUを使用することができます。NVidia製のGPUとcudaライブラリを利用することで、GPU上で計算を行えるようになります。

そしてPyTorchの大きな特徴として「計算グラフの作成を計算の実行と同時に行う」という点があります。これをEager Execution(Define-by-Run)と呼びます。

PyTorchのテンソル

PyTorchではデータやパラメーターにテンソル(Tensor)を使用します。テンソルは多次元配列です。

テンソルはNumpyのndarray型と似ていて、ベクトルや行列の計算などの機能が備わっています。テンソルとNumpyの違いとしては、テンソルはGPUを使用して演算が可能という点です。

テンソルを扱うためにtorch.Tensor関数があり、この関数を使用することでテンソルが生成されます。

PyTorchのインストール

PyTorchをインストールするためのコマンドは公式サイトから確認することができます。

PyTorch公式サイト

PyTorch公式サイトにアクセスすると次図の表示があります。ここで自分の環境を選択することで自分の環境に合ったコマンドを知ることができます。すべての項目を選択すると「Run this Command」に実行すべきインストールコマンドが表示されます。

PyTorch公式サイト:インストールコマンド

基本的にpip環境であれば以下のコマンドでPyTorchをインストールできます。

pip install torch torchvision torchaudio

無事にインストールできたか動作確認をしてみてください。以下に動作確認例を記します。

$ python
>>> import torch
>>> torch.__version__
'1.8.0+cpu'
>>> x = torch.tensor([1,2,3])
>>> x
tensor([1, 2, 3])

上記コードが実行できていれば問題なくインストールされています。