TensorFlow が GPU を使用しているかどうかを確認する

Anika Tabassum Era 2023年6月21日
TensorFlow が GPU を使用しているかどうかを確認する

機械学習の分野では、より高度な計算を実行する必要があることがよくあります。 この点で、デフォルトの CPU は、GPU が提供できるレベルのバックアップを提供できません。

システムに GPU がない場合、Google Colab、Kaggle などのプラットフォームがあります。

通常、TensorFlow は CPU を使用しますが、計算速度は GPU の約 20 倍遅くなります。 そのため、時間を節約し、気概を持って実行するために、私たちの仕事が必要です。

どのコンピューター システムを使用する場合でも、CUDA 対応の GPU システムを使用する必要があります。 特に、TensorFlow をマージするにはシステムに GPU が必要です。

多くの解決策がありますが、最も受け入れられるのは、CUDA ツールキット、cudNN、GPU ドライバーなどのインストールを必要とするdocker コンテナー方式です。主に、Nvidia は機械学習用に特化した GPU を提供しています。 したがって、ほとんどのチュートリアルは Nvidia 指向です。

ただし、AMD、Nvidia、Intel、Qualcomm などのほとんどの一般的な GPU ベンダーで引き続き機能する、この分野の新しい追加機能に焦点を当てます。 これは、DirectML という低レベルの機械学習 API です。

この API は、ハードウェア アクセラレーションによる機械学習のプリミティブ オペレーターを提供します。 次のセクションでは、ローカルの Anaconda 環境にインストールする方法と、TensorFlow を GPU にバインドする方法を調べます。

DirectML を使用して TensorFlow が GPU を使用できるようにする

タスクは単純で、数行のコマンドを操作するだけで済みます。 しかし具体的に言うと、DirectML の場合、TensorFlow と python の特定のバージョンのみが機能します。

バージョン 1.15.5 および Python 3.6-3.7 の TensorFlow を使用することをお勧めします。

最初に、Anaconda プロンプトを開いてコマンドを書き込むか、Anaconda ナビゲーターから CMD.exe Prompt アプリケーションを開くことができます。 次に、タスクを実行するための環境を作成し、必要なパッケージをインストールします。

以下のコマンドを確認してみましょう。

conda create -n tfdml python=3.6
conda activate tfdml
pip install tensorflow-directml

tfdml 環境を作成すると、進行中のメッセージが表示され、そこに y を入力します。 次に、DirecML を有効にしてインストールします。

後で、環境を非アクティブ化し、base 環境で以下のコマンドに従います。

conda deactivate
conda install -c conda-forge jupyterlab
conda install -c conda-forge nb_conda_kernels

これらをインストールした直後に、再び tfdml 環境をアクティブにして、次のようにコマンドを記述します。

conda activate tfdml
conda install ipykernel
ipython

したがって、ipython を実行すると、Python シェルに入ります。ここで、DirectML デバイスがビルド済み GPU で作成されているかどうかを確認します。 True を取得すると、TensorFlow は GPU を使用しています。

import tensorflow as tf

tf.test.is_gpu_available()

出力:

DirectML を使用して TensorFlow が GPU を使用できるようにする

ご覧のとおり、GPU AMD Radeon(TM) には DirectML デバイスがあるため、TensorFlow は GPU を使用できます。 そして、GPU デバイス名を調べると、DML として返されます。

GPUデバイス名の確認

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook