GPUセットアップ

## GPUセットアップガイド (TensorFlow/PyTorch)

このノートでは、PythonでGPUを使用するための環境構築手順をまとめます。TensorFlowとPyTorchを例に、必要なソフトウェアのインストールから環境確認までを網羅しています。

### 必要なソフトウェアのインストール

#### Pythonのインストール

  * 最新のPythonバージョンを公式サイト ([https://www.python.org/](https://www.google.com/url?sa=E&source=gmail&q=https://www.python.org/)) からダウンロードし、インストールします。
  * インストール時、**「Add Python to PATH」** にチェックを入れることを推奨します。

#### CUDA Toolkitのインストール

  * NVIDIAのCUDA Toolkitを公式サイト ([https://developer.nvidia.com/cuda-downloads](https://www.google.com/url?sa=E&source=gmail&q=https://developer.nvidia.com/cuda-downloads)) からダウンロードし、インストールします。
  * インストール時、**「Customize」** を選択し、**「Driver components」** のチェックを外すことで、NVIDIAドライバのインストールをスキップできます (後述)。
  * インストール後、環境変数にCUDAのパスを追加します。

<!-- end list -->

```bash
export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
```

  * 上記はCUDA 11.2の例です。インストールしたバージョンに合わせてパスを変更してください。
  * 設定後、シェルの再起動または`source ~/.bashrc` (または`source ~/.zshrc` など) で変更を反映します。

#### cuDNNのインストール

  * NVIDIA cuDNNを公式サイト ([https://developer.nvidia.com/cudnn](https://www.google.com/url?sa=E&source=gmail&q=https://developer.nvidia.com/cudnn)) からダウンロードし、CUDA Toolkitと互換性のあるバージョンを選択します。
  * ダウンロードしたファイルを解凍し、CUDAのインストールディレクトリにコピーします。
  * 具体的なコピー先は、CUDA ToolkitのバージョンやOSによって異なります。cuDNNのドキュメントを参照してください。

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

  * GPUに対応するNVIDIAドライバを公式サイト ([https://www.nvidia.co.jp/Download/index.aspx?lang=jp](https://www.google.com/url?sa=E&source=gmail&q=https://www.nvidia.co.jp/Download/index.aspx?lang=jp)) からダウンロードし、インストールします。
  * CUDA Toolkitのインストール時にドライバをインストールした場合は、この手順をスキップできます。
  * ドライバのバージョンは、CUDA Toolkitの要件に合わせてください。

### Pythonパッケージのインストール

#### pipのアップグレード

```bash
pip install --upgrade pip
```

#### 必要なライブラリのインストール

##### TensorFlow:

```bash
pip install tensorflow-gpu
```

##### PyTorch:

```bash
pip install torch torchvision torchaudio
```

  * PyTorchのインストールコマンドは、CUDAのバージョンやOSによって異なります。PyTorchの公式サイト ([https://pytorch.org/](https://www.google.com/url?sa=E&source=gmail&q=https://pytorch.org/)) で適切なコマンドを確認してください。

### ⚙️ 環境の確認

#### CUDAのバージョン確認

```bash
nvcc --version
```

**実行結果例:**

```
nvcc: NVIDIA (R) C++ Compiler driver
Copyright (c) 2007-2021 NVIDIA Corporation
The CUDA Toolkit version is 11.2.2
```

#### GPUの確認

```python
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))

import torch
print(torch.cuda.is_available())
```

**実行結果例:**

```
Num GPUs Available:  1
True
```

  * 実行結果が出てくれば、GPUが正しく認識されています。

### 参考記事

  * NVIDIA CUDA Toolkit: [https://developer.nvidia.com/cuda-downloads](https://www.google.com/url?sa=E&source=gmail&q=https://developer.nvidia.com/cuda-downloads)
  * NVIDIA cuDNN: [https://developer.nvidia.com/cudnn](https://www.google.com/url?sa=E&source=gmail&q=https://developer.nvidia.com/cudnn)
  * PyTorch: [https://pytorch.org/](https://www.google.com/url?sa=E&source=gmail&q=https://pytorch.org/)
  * TensorFlow: [https://www.tensorflow.org/](https://www.google.com/url?sa=E&source=gmail&q=https://www.tensorflow.org/)

### 注意事項

  * 各ソフトウェアのバージョンは、互換性を確認してからインストールしてください。
  * インストール手順は、OSや環境によって異なる場合があります。各ソフトウェアのドキュメントをよく読んでください。
  * GPUの性能によっては、計算に時間がかかる場合があります。

これで、PythonでGPUを使用するための環境構築が完了しました。