あなたは、TensorFlow派ですか?
それとも、PyTorch派でしょうか?
正直、もうどっちでもいいと思いませんか?
わたしたち利用者は、両方とも使えばいいのです。
TensorFlowもPyTorchも両方とも使っていきましょう。
この記事では、PyTorchのインストールを解説します。
TensorFlowがインストール済みでも、試してみて損はありません。
びっくりするほどインストールが簡単です。
だから、簡単にPyTorchを試すことができます。
本記事の内容
- PyTorchとは?
- PyTorchのシステム要件
- PyTorchのインストール
- PyTorchの動作確認
それでは、上記に沿って解説していきましょう。
PyTorchとは?
PyTorchは、Pythonのオープンソースの機械学習ライブラリです。
(この記事では、フレームワークではなくライブラリで表記を統一します)
最初は、Facebookの人工知能研究グループAI Research lab(FAIR)によって開発されました。
機械学習ライブラリにおいては、TensorFlowのライバルです。
それは、ここ1年間の検索ボリュームを見ればわかります。
Google Trendにおける直近1年(2020年1月中旬~2021年1月中旬)の比較結果は、以下。
TensorFlowと PyTorchは、ほぼ互角です。
次に、直近5年間(2016年1月中旬~2021年1月中旬)の比較結果を確認しましょう。
PyTorchの伸びがエグイです。
これには、いろいろと理由があるのでしょう。
個人的には、Chainerの低迷が大きいと思います。
そして、Chainerの開発元企業は2019年12月5日にChainerの開発終了を宣言しています。
今後は、PyTorchへ移行していくということでした。
以下は、直近5年間のTensorFlow、PyTorch、Chainerの比較結果です。
Chainerは、黄色となります。
機械学習の黎明期には、ChainerはTensorFlowといい勝負をしていました。
(※検索ボリュームではなく、あくまで検索トレンドにおいて)
PyTorchの普及とともに、Chainerは低迷していきました。
ただ、利用する側には良い環境となっています。
選択肢が多すぎると、何を使ってよいのか混乱してしまいます。
以前は、さらにCaffe2というライブラリも存在していました。
このCaffe2は、PyTorchにマージ(吸収)されました。
以上より、PyTorchの勢いはホンモノです。
そして、PyTorchは決して無視できないことがわかります。
追記 2023年3月18日
PyTorch 2.0がリリースされました。
1系よりも処理能力が大幅に改善されたということです。
次は、PyTorchのシステム要件を確認しましょう。
PyTorchのシステム要件
PyTorchのシステム要件におけるポイントは、以下。
- OS
- Python
- CUDA
それぞれを確認していきましょう。
OS
OSは、以下のすべてに対応しています。
- Windows
- macOS
- Linux
Windows 7以降であれば、PyTorchは動くようです。
ただ、Windows 10以降が推奨されています。
Python
Windowsとそれ以外(macOSとLinux)で異なります。
Windowsは、Python 3系のみ対応しています。
それ以外(macOSとLinux)は、Python 3系とPython 2系に対応。
Pythonのバージョンは、以下のコマンドで確認しておきましょう。
>python -V Python 3.8.6
CUDA
GPUを利用しない場合は、CUDAを無視しても問題ありません。
ただ、GPUを搭載したマシンを使うなら、GPUを利用した方がよいでしょう。
GPUを利用する場合、CUDAが必要となります。
まず、CUDAがインストールされているかどうかを確認する必要があります。
いろいろな方法がありますが、最も簡単な方法はシステム環境変数を見ることです。
「システム環境変数」と入力すると以下が表示されます。
ここで、「システム環境変数の編集」を選択。
「環境変数」ボタンをクリックすると、システム環境変数を確認できます。
システム環境変数の中に、「CUDA_PATH」があるかどうかを確認します。
あれば、CUDAが利用可能な状態と言えます。
なお、上記では次のパスも存在しています。
- CUDA_PATH_V10_1
- CUDA_PATH_V10_2
- CUDA_PATH_V11_0
これは、それぞれのCUDAのバージョンをインストールしているということです。
GPUを利用する場合は、各自で利用可能なCUDAのバージョンを控えておいてください。
ここで控えたCUDAのバージョンが、インストールの際に必要となります。
なお、CUDAに関しては次の記事内でもっと詳しく説明しています。
PyTorchのインストール
PyTorch公式
https://pytorch.org/get-started/locally/
上記ページにアクセスします。
ページ内に以下の表示があるはずです。
ここで各自の環境情報を選択します。
選択した内容によって、インストール用のコマンドがカスタマイズされます。
今回は、以下のように選択。
安定版(Stable 1.7.1)をWindows上にpipコマンドでインストールします。
言語は、もちろんPythonです。
そして、CUDAはバージョン11.0を利用します。
この結果、以下のコマンドが「Run this Command:」に表示されます。
pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
あとは、このコマンドを実行するだけです。
ただ、その前に現状のインストール済みパッケージを確認しておきます。
>pip list Package Version ---------- ------- pip 20.3.3 setuptools 51.1.2
次にするべきことは、pip自体の更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip
では、取得したpipコマンドを実行します。
しばらく待ちます。
インストールが完了したら、パッケージの確認をしましょう。
>pip list Package Version ----------------- ----------- numpy 1.19.5 Pillow 8.1.0 pip 20.3.3 setuptools 51.1.2 torch 1.7.1+cu110 torchaudio 0.7.2 torchvision 0.8.2+cu110 typing-extensions 3.7.4.3
依存ライブラリは多くありませんね。
ちなみに、TensorFlowの場合、この4倍ほどの依存ライブラリがインストールされます。
そう考えると、PyTorchはTensorFlowよりも導入しやすいと言えます。
以上より、PyTorchのインストールは完了です。
最後に、PyTorchの動作確認をします。
PyTorchの動作確認
公式に掲載されているPyTorchの動作確認用のコードです。
import torch x = torch.rand(5, 3) print(x)
実行すると、以下のような表示がなされます。
tensor([[0.5402, 0.5178, 0.0699], [0.0316, 0.3497, 0.0154], [0.6478, 0.9491, 0.2383], [0.7290, 0.3570, 0.3752], [0.0213, 0.4007, 0.1434]])
PyTorchの動作確認としては、以上で問題ありません。
GPUを利用する場合、本当にPyTorchでGPUを認識できているのどうかが気になります。
そのための確認プログラムが以下です。
import torch print(torch.cuda.is_available())
上記を実行すると判定結果が表示されます。
True
最後に、PyTorchのインストールに関しての感想です。
「本当に簡単すぎる」これに尽きます。
TensorFlowも以前と比べれば、 インストール がかなり簡単にはなりました。
ただ、いまだにGPUを利用する場合はヒヤヒヤしながらインストールします。
でも、PyTorchのインストールではそのヒヤヒヤが全くありませんでした。
インストール用コマンドの発行ツールが、かなり効果的だと感じます。
インストールする側からすれば、迷いがなくなります。
あのような便利ツールは、プログラマーとしたら見習いたいモノです。