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

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

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

構築環境について

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

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)

関連記事

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

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

記事を読む

【画像認識】 Google画像検索結果を取得する方法 【google image download】

今回は、深層学習(DeepLearning)で画像認識をするための画像データの収集を、Google画

記事を読む

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

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)を構築する方法について紹介しま

記事を読む

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

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

記事を読む

【Weka】CSVファイルを読み込んで決定木を実行。

フリーの機械学習ソフト Weka を使って、CSVファイルを読み込んで決定木(Decision Tr

記事を読む

機械学習の手法のまとめ。

機械学習は、「与えられた入出力事例をモデル化する行為」のことで、ディープラーニングなどで注目を集めて

記事を読む

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

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

記事を読む

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

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

記事を読む

【Weka】欠損データを自動的に補完するフィルタを使ってみた。

機械学習で用いるデータについてです。データは完璧なことに越したことはないが、通常は、ある属性の値が入

記事を読む

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

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

記事を読む

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

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

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

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

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

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

【OpenCV】検出した顔画像部分を切り出す方法【Python】

OpenCV を使って、Python で画像の中から顔部分を切り出した

【Fashion-MNIST】ファッションアイテムのデータセットを使ってみた【TensorFlow】

今回は、機械学習用に公開されているデータセットの1つである「Fashi

→もっと見る

PAGE TOP ↑