PyTorchでGPUを使用する方法
PyTorchを使用した深層学習モデルにGPUを使用するための短いチュートリアルです。
Created on January 30|Last edited on January 30
Comment
初めに
このレポートでは、GPU使用により詳細に制御する方法について説明します。
すべてのGPUおよびCPU使用率メトリックを自動的にログに記録できるウェイトとバイアスを使用します。 これにより、多数のモデルをトレーニングする際に、コンピューティングリソースの使用状況を簡単に監視することができます。
GPUの可用性の確認
GPUにアクセスできるかどうかを確認する最も簡単な方法は、torch.cuda.is_available() を呼び出すことです。 Trueが返された場合は、システムにNvidiaドライバーが正しくインストールされていることを意味します。
>>> import torch>>> torch.cuda.is_available()
GPU-Gotchasを使用する
• デフォルトでは、テンソルはCPUで生成されます。 モデルもCPUで初期化されます。 したがって、GPUを使用して操作が行われることを手動で確認する必要があります。
>>> X_train = torch.FloatTensor([0., 1., 2.])>>> X_train.is_cudaFalse
• PyTorchは、CPUで生成されたテンソルをGPUに転送するための使いやすいAPIを提供します。 幸い、新しいテンソルは親テンソルと同じデバイスで生成されます。
>>> X_train = X_train.to(device)>>> X_train.is_cudaTrue
• 同じロジックがモデルに適用されます。
model = MyModel(args)model.to(device)
• したがって、データとモデルをGPUに転送する必要があります。 さて、deviceは何ですか?
• 変数(通常はトレーニング対象のdevice(CPUまたはGPU)を保持するデバイスという名前)を初期化することは、PyTorchの一般的な方法です。
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")print(device)
Torch CUDAパッケージ
PyTorchのtorch.cuda パッケージは、CPUテンソルと同じ機能を実装するCUDAテンソルタイプの追加サポートを備えていますが、計算にGPUを利用しています。
• テンソルをGPUに配置する場合は、.cuda() を呼び出すことができます。
>>> X_train = torch.FloatTensor([0., 1., 2.])>>> X_train = X_train.cuda()
• GPUにテンソルがあり、それをCPUに持ち込みたい場合は、.cpu() を呼び出すことができます。 これは通常、モデルの出力(テンソル)をCPUに取り込むために使用されます。
• 現在選択されているデバイスのインデックスを取得します。
>>> torch.cuda.current_device() # returns 0 in my case
• 使用可能なGPUの数を取得します。
>>> torch.cuda.device_count() # returns 1 in my case
• デバイスの名前を取得します。
>>> torch.cuda.get_device_name(0) # good old Tesla K80
例とGPUメトリクスの視覚化
Weights&Biasesを使用してモデルを追跡している場合、GPU使用率を含むすべてのシステムメトリックが自動的にログに記録されます。 ログに記録される最も重要なメトリックのいくつかは、割り当てられたGPUメモリ、GPU使用率、CPU使用率などです。ここで、ログに記録されたメトリックの完全なリストを確認できます。
以下に示すメディアパネルは、トレーニング中にW&Bによって自動的に記録されたこれらのシステムメトリックの一部を示しています。
概要
この記事では、Kerasを使用してディープラーニングの研究にGPUを活用し、ウェイトとバイアスを使用してリソース消費を監視する方法を説明しました。 ウェイトとバイアスを使用したトレーニング中のシステムリソース使用率の追跡に関するLambdaLabsによるこのすばらしい記事を確認してください。
ウェイトとバイアス
Weights&Biasesは、機械学習の実験を追跡するのに役立ちます。 私たちのツールを使用して、実行からハイパーパラメータをログに記録し、メトリックを出力してから、結果を視覚化して比較し、結果を同僚とすばやく共有します。
Add a comment
Iterate on AI agents and models faster. Try Weights & Biases today.