Skip to main content

ayush-thakurによる「PyTorchでGPUを使用する方法」のコピー

PyTorchでディープラーニングモデルにGPUを使用するための簡単なチュートリアルとして、利用可能かの確認から使用可能なものの可視化まで。
Created on August 5|Last edited on August 5

セクション

紹介

このレポートでは、GPUの使用方法とより詳細な制御方法について説明します。
Weights and Biasesを使用して、すべてのGPUおよびCPU使用率メトリクスを自動的にログします。これにより、さまざまなモデルのトレーニング中に計算リソースの使用状況を簡単に監視できます。
続行する前に、まだ行っていない場合は、PyTorchがGPUを使用しているか確認する

GPUの在庫を確認する

GPUにアクセスがあるかどうかを確認する最も簡単な方法は、呼び出すことです。torch.cuda.is_available()それがTrueを返す場合、それはシステムにNvidiaドライバーが正しくインストールされていることを意味します。
>>> import torch
>>> torch.cuda.is_available()


GPUを使用する際の注意点

  • デフォルトでは、テンソルはCPU上で生成されます。モデルさえもCPU上で初期化されます。そのため、操作がGPUを使用して行われていることを手動で確認する必要があります。
    >>> X_train = torch.FloatTensor([0., 1., 2.])
    >>> X_train.is_cuda
    False
  • PyTorchは、CPUで生成されたテンソルをGPUに転送するための使いやすいAPIを提供しています。幸いなことに、新しいテンソルは親テンソルと同じデバイスで生成されます。
    >>> X_train = X_train.to(device)
    >>> X_train.is_cuda
    True
  • 同じ論理がモデルに当てはまります。
    model = MyModel(args)
    model.to(device)
  • このように、データとモデルをGPUに転送する必要があります。さて、何がdevice?
  • それは通常、「」という名前の変数を初期化するPyTorchの一般的な方法です。deviceトレーニングを行うデバイス(CPUまたはGPU)を保持します。
    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
    print(device)