しんさんのブログ

科学や技術のこと読書のことなど

Pytorch, TensorflowのGPU版とOpneCV環境の構築方法

2023年8月31日
OpenCV pythonのインストールの記述を更新

2022年11月24日
OpenCVの環境構築方法のアップデート 

2021年3月18日
Pytorch v1.8.0, Tensorflow v2.1.0のGPU版とOpneCV環境の構築方法

GPU: RTX2060Super
OS: Windows11Pro 64bit

Python3.7 Anaconda
CUDA12.2
OpenCV 4.6.0

PytorchとGPU/CUDA の環境確認には以下のコマンドが便利です
>python -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.device_count());"

CUDAとcuDNNのインストール

まずは、CUDA10.2をインストールします。
正しくインストールできたかどうかはコマンドプロンプト
>nvcc -V
で確認する。
cuDNNをインストールする。cuDNNはTensorflowで要求されるので、必要なバージョンを確認してインストール。
今回は、cuDNN v7.6.5 for CUDA 10.2 を選択。
ダウンロードしたcuDNNパッケージを解凍し、インストールガイドに従って3つのファイルをコピーする。

pytorch 1.8.0のインストール

(1) まずはanaconda 仮想環境を作成する。
"pytorch18GPUCV"という名前で作成。pythonのバージョンは3.7を選択します。
ついでにjupyter notebookもインストールしておきます。

(2) pytorchのページに行くと、バージョン等を選択すると必要なインストールコマンドが表示されるので、
指示通りにインストールする。

(3) OpneCV4のインストール
以下のサイトを参考にしました。
https://qiita.com/mml/items/fb9f6e66746be351fbc3
>pip install opencv-python
>pip install opencv-contrib-python

2023年8月30日更新
OpenCVではじめようディープラーニングによる画像認識」という本を参照
>conda search opencv
> conda install opencv=4.5.5
でanaconda環境で簡単にインストールできました。
conda-fforgeのopencvパッケージにはopencv-contribのモジュールも含まれているそうです。

(4) ハイパーパラメータの探索
学習のためのハイパーパラメータ探索のために、ベイズ最適化のためのフレームワークBoTorchをベースに作られたAxをインストール

pip install ax-platform

(5) 他のパッケージのインストール

conda install matplotlib
conda install pandas
conda install tensorboard
conda install h5py
conda install seaborn

インストールの確認は以下を参照
PyTorchでGPU情報を確認(使用可能か、デバイス数など) | note.nkmk.me

tensorflow 2.1.0のインストール

tensorflow公式ページのインストール>GPUサポートを見るとCUDA10.1と書いてありますが、今回はCUDA10.2でtensorflowの環境を構築しています。
CUDA10.2で動作はしているのでまあ大丈夫なのでしょう。

(1) まずはanaconda 仮想環境を作成する。
"tensorflow210CV"という名前で作成。pythonのバージョンは3.7を選択します。
ついでにjupyter notebookもインストールしておきます。

(2) tensorflowのインストール
> pip install tensorflow
とやると自分の環境ではtensorflowがGPU版を認識してくれない。
以下のページを参考にして、
https://medium.com/lsc-psd/tensorflow2-1%E3%81%A7cuda10-1%E3%81%AA%E3%81%AE%E3%81%ABgpu%E3%81%8C%E8%AA%8D%E8%AD%98%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E5%95%8F%E9%A1%8C%E3%81%AE%E8%A7%A3%E6%B1%BA%E6%B3%95-6be5137ec216

以下のコマンドでインストールしました。
> conda install tensorflow=2.1.0=gpu_py37h7db9008_0

(参考)2020/7/10現在でpython3.7+GPUで一番新しいものは、
https://repo.anaconda.com/pkgs/main/win-64
を見ると
tensorflow-2.1.0-gpu_py37h7db9008_0.tar.bz2
のようだ。

あとはpytorchの時と同様にopenCVとその他のパッケージをインストールします。

(3) OpneCVのインストール
OpenCVではじめようディープラーニングによる画像認識」を参照しました。

pipを使ったインストール

>pip3 install opencv-python==
と入力すると可能なバージョンが表示されるので、例えば
>pip3 install opencv-python==4.5.5.62
でインストール可能。
GUI機能を使わないなら、パッケージサイズが軽量になっているGUIなし版も可能。
opencv-python-headless
さらに、OpenCVの中でも実験的な機能が含まれているopencv_contribパッケージは
以下のようにしてインストールできる。
>pip3 install opencv-cotrib-python==
でバージョンリストを表示し、
>pip3 install opencv-contrib-python=4.5.5.62
でインストールできます。
GUIなしのopencv-contrib-python-headlessも可能。
ただし、Windows上ではVisual Studio 2015のC++領布可能パッケージをインストールしておく必要あり。

condaを使ったインストール

まずはインストール可能なバージョンを探す
>conda search opencv
リストが出てくるので、例えば以下のようにしてインストール
>conda install opencv==4.5.5
バージョン確認は、
>>> import cv2
>>> print(cv2.__version__)
で可能。

(4) 他のパッケージのインストール
>conda install matplotlib

jupyterにカーネルを登録

現在登録されているカーネルの確認
> jupyter kernelspec list

新たにカーネルを登録
> conda activate hoge
> ipython kernel install --user --name=hoge --display-name=hogehoge

登録したカーネルの削除
> jupyter kernelspec uninstall hoge

インストールの確認

インストールを確認するための簡単なコードを作成し、pytorch, tensorflowでGPUが認識されていて、OpenCVが動作することも確認しました。
確認用の簡単なスクリプトgithubに置きました。
github.com