【TensorFlow】GPUを認識しない時の対処方法【Python】

TensorFlow で GPU を認識させようとしたときにハマってしまったので、その対処方法のメモです。

バージョンを揃えないと GPU が認識しないなど、様々なページがあって、色々と参考にしながらインストールしたのですが、盛大にハマってしまいました。。。

Contents

構築環境について

今回の環境は以下のとおりです。

OS:Window 10
Python:3.8.5
GPU:NVIDIA GeForce RTX 2060
メモリー:16GB

バージョン対応確認

インストールしていく前の事前準備として、以下のページでバージョン対応を確認しておく必要があります。

https://www.tensorflow.org/install/source_windows#configure_the_build

それぞれのバージョンが違うと動かないようです。

私は、tensorflow-gpu が「2.0.3に対応するものを入れていきました。

TensorFlow(GPU版)のインストール

まず、TensorFlow の GPU版をインストールします。

ここで注意しないといけないのが、「conda」コマンドか「pip」コマンドどちらでインストールするかです。

結論からいうと、「pip」でインストールしないといけないっぽいです。

「conda」を使うと GPU に対応しなくなってしまうみたいです。。

参考記事
https://qiita.com/S_Sekino/items/de4c80916db806c4b9b5

TensorFlow には CPU版とGPU版があり、GPU版を使う場合は、CPU版をアンインストールしておきます。

pip で GPU版をバージョンを指定してインストールします。

以下のようなエラーが出た場合は、「METADATA」ファイルを作成します(空のファイル)。

ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory:
‘c:\\users\\XXXX\\anaconda3\\lib\\site-packages\\google_pasta-0.2.0.dist-info\\METADATA

アクセスエラーが出た場合、「–user」オプションを付けます。

Windows Visual Studio C++ のインストール

Windows Visual Studio C++ は、CUDA をインストールして使うために必要なものです。

CUDA は、NVIDIA が開発している、GPGPU のアーキテクチャ・ライブラリのことです。

Visual Studio 2019 をインストール します。

https://docs.microsoft.com/ja-jp/visualstudio/install/install-visual-studio?view=vs-2019

インストール時に、「C++ ワークロードを使用したデスクトップ開発」を選択します。

インストールには時間がかかり、空き容量が8GB程度必要となります。。

NVIDIA Driver のインストール

PCで使用している GPU のバージョンに対応したドライバーを以下のページからダウンロードする必要があります。

https://www.nvidia.co.jp/Download/index.aspx?lang=jp

GPUバージョン確認方法は、デスクトップで右クリックNVIDIAコントロールパネル 画面を開き、「ヘルプ」⇒「システム情報」。

一旦、NVIDIA XXXX となっているプログラムは全てアンインストールしてからインストールします。

CUDA Toolkit Archive(CUDA 10.1)のインストール

以下のページから、CUDA Toolkit Archive(CUDA 10.1)をダウンロードします。

CUDA Toolkit 10.1 update2 (Aug 2019), Versioned Online Documentation」を選択しました。

2.5GBあるのでネット環境が良くないと厳しいです。

環境変数にPATHが通っている(追加されている)ことを確認します。

「システムの詳細設定」->「詳細設定」->「環境変数」に、「CUDA_PATH」「CUDA_PATH_V10_1」が追加されていることを確認します。

コマンドプロンプトで、

とし、PATHが通っていることを確認します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc.exe

※一応以下のPATHも通しておきます。

cuDNN(SDK 7.6)のインストール

cuDNN とは、NVIDIAが提供しているDeep Neural Network(DNN)開発用のライブラリです。

深層学習で使われる基本的な機能が提供されています。

https://developer.nvidia.com/cudnn

Download cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.1」を選択しました。

ZIP ファイルを展開し、「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1」以下に、

bin, include, libと3つのフォルダがあるので、各フォルダのファイルをコピーします。

環境変数を手動で設定します。

変数名:
CUDNN_PATH

変数値:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1

システム環境変数 Path に以下を追加します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin

コマンドプロンプトで、「where cudnn64_7.dll」を実行し、PATHが通っていることを確認します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\cudnn64_7.dll

GPUを認識することを確認

「Spyder」上で、以下を実行します。

ModuleNotFoundError: No module named ‘absl’ エラーの対処方法

ImportError: cannot import name ‘descriptor’ from ‘google.protobuf’ (unknown location) エラーの対処方法

ModuleNotFoundError: No module named ‘termcolor’ エラーの対処方法

以下のような出力がされ、ようやくGPUが認識されました。

Created TensorFlow device (/device:GPU:0 with 4722 MB memory) -> physical GPU (device: 0, name: NVIDIA GeForce RTX 2060, pci bus id: 0000:01:00.0, compute capability: 7.5)

関連記事

【Weka】ARFF 形式から CSV 形式に簡単に変換する方法。

フリーのデータマイニングツールである WEKA では、ARFF 形式と CSV 形式のデータを読み込

記事を読む

【機械学習】決定木(decision tree)について。

教師あり学習の一つである決定木(desicion tree)について勉強したことを書いていきます。

記事を読む

【深層学習】 TensorFlow と Keras をインストールする【Python】

今回は、Google Colaboratory 上で、深層学習(DeepLearning)フレームワ

記事を読む

【機械学習】 scikit-learn で精度・再現率・F値を算出する方法【Python】

今回は、2クラス分類で Python の scikit-learn を使った評価指標である、精度(P

記事を読む

【Weka】フリーの機械学習ソフトをインストールする方法。

Weka は、GUIで使えるフリーの機械学習ソフトです。 https://ja.wikiped

記事を読む

【機械学習・手法比較】決定木とナイーブベイズを比較してみた。

同じデータを使って、教師有り機械学習手法の 決定木(Decision Tree)とナイーブベイズ(N

記事を読む

【探索】ダイクストラ法・最良優先探索・Aアルゴリズムの比較。

縦型探索や横型探索では、機械的に順序を付け、最小ステップでゴールを目指します。 つまり、

記事を読む

【機械学習】モンテカルロ法(Monte Carlo method)について。

モンテカルロ法(Monte Carlo method)とは、シュミレーションや数値計算を乱数を用いて

記事を読む

【Weka】アソシエーション・ルール(association rule)【機械学習】

フリーの機械学習ツール Weka でアソシエーション・ルール(association rule)を使

記事を読む

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用いて転移学習をしてみました。

記事を読む

【Cubase】イヤホンから音がでないときの対処方法。

Cubase でイヤホンから音がでなくなったときの対処方法のメモです。

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築

→もっと見る

PAGE TOP ↑