機械学習:RTX3060Ti搭載PCにTensorFlow2のGPU版を入れてみた

この記事は約5分で読めます。

この記事の内容
RTX3060Ti搭載のPCにtensorflow_gpu-2.3.0をインストール

本記事ではRTX3060Ti搭載PCにtensorflowをインストールした際の備忘録です。
計算の高速化とかの話はこちら。

以下、本文です。

はじめに

さて先日の記事では新しいPCを購入したことに触れました。
今回は新しいPCにtensorflowのGPU版(本当はKerasを動かしたいけどKerasはtensorflowとほぼ同じなので本記事ではtensorflowに表現を統一)を動かすための環境を構築した際の備忘録です。
PCを購入した最大の理由がtensorflow(Keras)を超高速で回すことでしたので、環境構築の際は一人で興奮していました。(自分で見返すためのメモなので間違いがあるかもしれません。)

とりあえずtensorflowにGPUを認識させることに成功したっぽいので記しておきます。
たぶん…GPUを認識してくれている…はず…

Tensorflowのバージョン

まず前提としてtensorflowにはCPU版とGPU版の2種類があります。
GPU版ではパソコンに搭載された(主にNVIDIA製の)GPU(グラフィックボード、ビデオカードなどとも言う)を使用することで、CPU版よりも高速でプログラムを走らせることができます。

現在私のPCにはNVIDIA製のGPUであるRTX3060Tiが搭載されていますので、tensorflowのGPU版(以下tensorflow_gpuと記します)を動かすための環境を構築することとしました。
またtensorflowのバージョンには1と2がありますが、今回私が環境構築したのは2になります。

以下が私が環境構築した際の流れです。

tensorflow_gpu 導入してみた

・Anacondaインストール
(Anacondaインストール時にpythonもインストールされる)
・Visual Studio インストール
・NVIDIAドライバー
・CUDAインストール
・cuDNNインストール
・tensorflow_gpuインストール

基本的にはこれらを順にどんどんインストールしていくだけでした。
ちなみに今回私はこの順序で行いましたが、順序はそこまで重要ではないかもしれません
ここで最も重要なこと&大変だったことは各々のバージョンを合わせることです。
私はバージョンを合わせるのに失敗して何度かインストールしなおす羽目になりました。
きっちり確認しないと駄目ですね💦

私がインストールした諸々のバージョンは以下の通り。
・Python:3.8.8
(Ancondaをインストール後、仮想環境構築時にPythonのバージョンを指定する必要がありました)
・NVIDIAドライバー:よく分からないけど最新版で動いたのでヨシ!
・CUDA:10.1
・cuDNN:7.6
・tensorflow_gpu:2.3.0

(参考)以下のHPを参考に環境を構築しました。
各バージョンの対応関係:TensorFlow 公式HP(画面左側でLinux /macOS / Windowsが選べました)
環境構築の手順:GeForce RTX 3060搭載のWindows10のPCでTensorFlowとCUDAを有効にする

既存のプログラムを動かす上で引っかかった点

パスの更新

古いPCで使っていたプログラムを新しいPCで動かそうとするも動かず、頭を悩ませていました。
がパスが古いままでプログラムを実行していたことに気づきました。
間抜けでした(´・ω・`)

tensorflow1から2への対応

古いPCにはtensorflowのバージョン1が入っていましたが、今回バージョン2をインストールしたので微妙にプログラムを改変する必要がありました。
私の場合これまで「tf.」としていた箇所を「tf.compat.v1.とすると動きました(が応急措置のような気もするので今後対応していきたいところ)。

(参考)TensorFlow 公式HP

ライブラリのバージョン確認

過去のプログラムの中で使用していたライブラリのうち、現在ではサービス終了となっていたり、適用範囲が変わっていたりするものがありました。該当箇所については適宜書き換えることで対応しました。
私の場合、以前使用していたxlrdを引き続き使うことを試みましたが、何故か調子が悪かったのでopenpyxlを使うことにしました。xlrdもopenpyxlもPythonでExcelファイルを読み書きしたいときに便利なライブラリですね。

(参考)以下のHPが参考になると思います。
openpyxl:PythonでExcelファイル(xlsx)を読み書きするopenpyxlの使い方
xlrd:PythonでExcelファイルを読み込み・書き込みするxlrd, xlwtの使い方

LSTMの高速化

以上の試みを実施したうえで既存のプログラムで構築したLSTMモデルの実行を試みましたが上手くいきませんでした。いろいろ調べて解決しましたが、話が長くなりそうな気がするので、それはまた別の記事にしたいと思います。

(2021年10月 追記)
ついに!記事にしました!!

コメント

タイトルとURLをコピーしました