PyTorchでGPUを使用する方法
PyTorchで深層学習モデルにGPUを使用するための簡単なチュートリアル:
1. **GPUの利用可能性を確認する**:
```python
import torch
torch.cuda.is_available()
```
2. **GPUデバイスの設定**:
```python
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
```
3. **モデルのGPUへの移動**:
```python
model.to(device)
```
4. **データのGPUへの移動**:
```python
inputs, labels = inputs.to(device), labels.to(device)
```
5. **GPUメモリの確認**:
```python
torch.cuda.memory_allocated()
torch.cuda.memory_reserved()
```
6. **トレーニングループでの使用**:
- モデル・データはすでにGPU上にあるため、通常のトレーニングループを実行。
7. **GPUの可視化**:
- NVIDIA製のGPUを使用している場合、`nvidia-smi` コマンドで利用状況をチェック可能。
Created on August 1|Last edited on August 1
Comment
セクション
紹介
このレポートでは、GPUの使用方法と制御を強化する方法について説明します。
私たちは、Weights and Biasesを使用して、GPUとCPUの使用状況のすべてのメトリクスを自動的に記録します。これにより、多数のモデルをトレーニングする際のコンピューティングリソースの使用状況を簡単に監視できます。
GPUの在庫状況を確認
GPUにアクセスできるかどうかを確認する最も簡単な方法は、呼び出すことです。torch.cuda.is_available()それが真を返す場合、システムにNvidiaドライバが正しくインストールされていることを意味します。
>>> import torch>>> torch.cuda.is_available()
GPUの使用 - 注意点
- デフォルトでは、テンソルはCPU上で生成されます。モデルもCPU上で初期化されます。そのため、操作がGPUを使用して行われるように手動で確認する必要があります。
- PyTorchは、CPUで生成されたテンソルをGPUに転送するための簡単に使用できるAPIを提供しています。幸い、新しいテンソルは親テンソルと同じデバイスで生成されます。
- 同じ論理がモデルにも当てはまります。
- したがって、データとモデルをGPUに転送する必要があります。さて、何がdevice?
- それは通常、変数を初期化するための一般的なPyTorchの方法です。deviceデバイス(CPUまたはGPU)を保持するもの。
トーチCUDAパッケージ
パイトーチで、torch.cudaパッケージにはCUDAテンソルタイプの追加サポートがあり、これはCPUテンソルと同じ機能を実装しますが、計算にGPUを利用します。
- テンソルをGPU上に配置したい場合は、.cuda()。
- GPU上のテンソルをCPUに移動したい場合は、呼び出すことができます。.cpu()これは通常、モデルの出力(テンソル)をCPUに移すために使用されます。
- 現在選択されているデバイスのインデックスを取得します。
- 利用可能なGPUの数を取得する。
- デバイスの名前を取得するには。
例とGPUメトリクスの可視化
モデルをWeights & Biasesで追跡している場合、GPU利用率を含むすべてのシステムメトリクスが自動的に記録されます。記録される最も重要なメトリクスには、GPUメモリ割り当て、GPU利用率、CPU利用率などがあります。記録されるメトリクスの完全な一覧を参照できます。ここ。
以下のメディアパネルには、トレーニング中にW&Bによって自動的に記録されたこれらのシステムメトリクスの一部が表示されています。
Run set
0
要約
この記事では、Kerasを使用してディープラーニング研究のためにGPUを活用し、Weights and Biasesを使用してリソース消費を監視する方法を紹介しました。Lambda Labsによる素晴らしい記事をご覧ください。トラッキングシステムのリソース利用状況ウェイトとバイアスを使用したトレーニング中に。
Weights & Biasesを試してみてください。
Weights & Biasesは、機械学習の実験を追跡するのに役立ちます。ハイパーパラメータを記録し、実行結果のメトリクスを出力して、結果を視覚化および比較し、同僚と迅速に共有できます。
指示:
- 下の緑色の「実行」ボタンをクリック(最初に実行をクリックすると、Replitがマシンを割り当てるのに約30〜45秒かかります)
- 端末ウィンドウのプロンプトに従ってください。(右下のペイン)
- ターミナルウィンドウのサイズを変更できます。(右下)で拡大表示
PyTorchに興味のある方におすすめの読書リスト
PyTorch Dropout for regularization - tutorial
Learn how to regularize your PyTorch model with Dropout, complete with a code tutorial and interactive visualizations
How to save and load models in PyTorch
This article is a machine learning tutorial on how to save and load your models in PyTorch using Weights & Biases for version control.
Image Classification Using PyTorch Lightning and Weights & Biases
This article provides a practical introduction on how to use PyTorch Lightning to improve the readability and reproducibility of your PyTorch code.
Add a comment
You imported torch and checked whether Cuda is available or not. Which version of PyTorch were you installed? GPU version or cpuonly version?
1 reply