【PyTorch入門】PyTorchとは?TensorFlowとの違いやインストール方法を解説

PyTorch

PyTorchは、Pythonで書かれたオープンソースの機械学習フレームワークです。
PyTorchは、ニューラルネットワークを構築するための便利な機能を使え、GPUを使用して高速な計算を可能です。自然言語処理、画像認識、音声認識、推薦システムなどの機械学習の様々な分野で広く使用されています。

本記事では代表的な機械学習フレームワークの一つであるPyTorchのインストール方法を紹介します。

PyTorchの特徴

ちょっと小難しい話をします。完全に理解する必要はないので気軽に読んでください。

機械学習では、モデルを構築するために計算グラフというものを作成して演算を行います。計算グラフの構築方法の違いがライブラリの特徴として大きく現れています。
機械学習フレームワークの2台巨塔はTensorFlowとPyTorchですが、TensorFlowは静的グラフ、PyTorchは動的グラフを扱うという点が大きな特徴です。

静的グラフは、計算グラフを構築するときにグラフの構造を先に定義し、その後、実際にデータを流すことで計算を行う方法です。つまり、静的グラフでは、計算グラフの構築と実行が分離されています。
一方PyTorchの動的グラフは、計算グラフの構築と実行を同時に行う方法です。

好みはありますが、動的グラフの方が従来のプログラミングの書き方と直感的に似ていて扱いやすい、デバッグしやすいと思います。
特に初学者の方には動的グラフのPyTorchがおすすめです。

PyTorchのインストール方法 (CPU編)

GPUを使用しない、CPU版のPyTorchをインストールするのは簡単です。以下のようにコマンドでpipインストールを行うだけです。

pip install torch torchvision torchaudio

インストールができたか以下のコードを実行して確認しましょう。PyTorchのバージョンが表示されたらインストール成功です。

import torch
print(torch.__version__)

PyTorchのインストール方法 (GPU編)

GPU版のPyTorchには事前に「NVIDIAドライバ」「CUDA Toolkit」「cuDNN」のインストールが必要です。インストールに必要なCUDAのバージョンを先に確認しておきましょう。公式ページを見ると執筆時点ではCUDA11.7が最新なので、それを例に説明します。

NVIDIAドライバのインストール

NVIDIAドライバをインストールしていない場合は、GPUに合った最新のものをNVIDIAからインストールしてください。

CUDA Toolkitのインストール

CUDA ToolkitはNVIDIAからインストールできます。本記事では11.7が必要なので、「CUDA Toolkit 11.7.1」を選択してインストールを進めます。

インストーラを実行して案内通りにインストールを進めてください。インストール先を指定する画面があるので、どこにインストールしたかメモしておいてください。後で使います。

cuDNNのインストール

cuDNNのインストールにはいくつかのステップが必要です。順に実行しましょう。

NVIDIA Developer Programに登録する

cuDNNをインストールするために、NVIDIA Developer Programに登録する必要があります。あらかじめ登録を済ませておきましょう。

cuDNNのダウンロード

cuDNNは、NVIDIA Developerサイト(cuDNN)からダウンロードできます。今回はCUDA11.7を使うので、「Download cuDNN v8.8.0 (February 7th, 2023), for CUDA 11.x」のリンクからダウンロードを開始します。
ダウンロードの際にzip形式を選択してください。

cuDNNの配置

cuDNNをCUDAのインストールディレクトリに配置します。ダウンロードしたzipを解凍し、以下のようにコピーしてください。

  • binディレクトリ内のcudnn*.dllファイルを、CUDA\binにコピー
  • includeディレクトリ内のcudnn.hファイルを、CUDA\includeにコピー
  • libディレクトリ内のcudnn.libファイルを、lib\x64にコピー

GPU版PyTorchのインストール

PyTorch公式ページでOSやCUDAバージョンを指定するとインストールに使うpipコマンドが表示されるので、それを実行します。本記事のCUDA11.7を例にすると以下のようなpipコマンドになります。

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

インストールが完了したら以下のコードで確認してみましょう。PyTorchのバージョンと「GPU is available.」が表示されればインストールは完了しています。

import torch

print(torch.version.cuda)
if torch.cuda.is_available():
    device = torch.device("cuda")
    print(f"GPU is available. Device name: {torch.cuda.get_device_name(0)}")
else:
    device = torch.device("cpu")
    print("GPU is not available.")
タイトルとURLをコピーしました