バルーンポケモンが好きな人のブログ

つまらない はなしで あいてをねむらせるのが とくいだぞ

Windowsでディープラーニングをするための環境構築手順

参考になったサイトをまとめます。
記事を書いてくださった皆様に大変感謝しています。

構築の大まかな流れを把握する

【2019年版】Windowsで始めるDeep Learning環境構築

CUDAを迎え入れるところまで目指してみます。
そこから先のPython環境の構築は別の記事を参照します。
わたしはTensorflowを入れたいので、ChainerやPytorchのインストールはスキップします。

Visual Studio 2019 のダウンロードとインストール

Visual Studioのダウンロード

無料で使えるコミュニティでOKです。
インストール時にC++Python環境のダウンロードもするようにチェックをつけておきましょう。

CUDAのインストール

その前にGeForce Experienceを起動して、ドライバをアップデートしました。
3年くらい放置気味だったので大丈夫か心配でしたが問題ありませんでした。
GeForce ExperienceはWindows画面の下のほうにあるメニューバーで検索すれば出てきます。

CUDA Toolkit 10.1 original Archive

わたしはCUDA10.1をダウンロードしました。
使いたいライブラリのバージョンで、ダウンロードすべきCUDAのバージョンも変わるかと思うのでここは気をつけてください。
Install Typeはexe(local)にしました。どっちでも大丈夫だと思います。

インストール手順は以下の通りです。下の記事では10.0のを解説しているため、少しバージョンは異なりますが、インストーラーの画面は大体同じなので十分参考になります。

CUDA Toolkit 10.0 インストール手順

Pythonの環境構築

Pythonのバージョンの管理のためにPyenvを、ライブラリの管理のためにPipenvを用いたいので、これらもインストールします。
とはいえ、まずはPythonが必要です。
実は遠い昔にPython3.8をインストールしていたので、Pythonのインストールはやっていないのですが、仮にここでPythonのインストールをするならば以下の手順を踏もうかと思っています。

  1. コマンドプロンプトを開いてPythonを実行してみます。Visual Studioのインストール時にPython開発環境も入っているはずなので、これで大丈夫なのかどうか確認します。Pythonのバージョンも確認して、低すぎなければOKかなと思っています。
  2. 1.でなんかダメそうだなとかもやもやする何かを感じたならば公式サイトからインストールしましょう。

Windows 10 で Python のインストールから Poetry と pyenv の利用

Poetryを使う手もあるみたいです。
ちなみに、普通にインストールしたPythonとPyenv経由でインストールしたPythonが共存しているとき、コマンドプロンプト等でPythonを実行すると、環境変数のリストの上から順にみて、先にヒットしたPythonが呼ばれるようになっています。
あと、Windowsだとpyenv-winが入るようですね。

環境変数まわりのお話は以下が参考になります。

Windows 10 で pyenv + pipenv の環境で Pythonを使いたい

pyenv-winを入れる→pipenvを入れる、までができたら、仮想環境を作ります。
ここまで終わればようやくTensorflowをインストールする作業に入れます。

(Optional)CUDNNのインストール

説明が雑ですが、CUDNNをインストールするとGPUの演算が速くなります。
あとはTensorflowを動かす際にCUDNNがないよって警告が出ます。なくても動くんですが、毎回警告が表示されるのもなんだか癪にさわるので、この際に入れてしまいましょう。

CUDA+cuDNNのインストールまとめ cuDNN Archive

色々バージョンがあってどれにすべきか困ってしまいますが、使いたいライブラリ(Tensorflow, Pytorch)のバージョンとCUDAのバージョンが決まっていればCUDNNのバージョンも決まります。
インストールしたいバージョンとセットでインストール手順を書いている記事を探せば、自ずとインストールすべきCUDNNのバージョンもわかります。
また、CUDNNなしでライブラリを使うと警告文が出るので、その文からどのバージョンのCUDNNが必要なのかという手がかりを得られます。そこから探してみるのもありです。CUDNNのインストール自体は後回しにしても問題ありませんし。

Tensorflowのインストール

pip での TensorFlow のインストール

今回はpipではなく、pipenvで入れます。
わたしは何となく2.3にしました。

pipenv install tensorflow-gpu==2.3.0

特にエラーが出ていなければインストール成功だと思います。
公式サイトにもあるインストールの検証を試してエラーが出ていなければOKです。
CUDNNのインストールをしていないのであれば警告が出ます。わたしは最初、CUDNNをインストールしないで実行していたので、警告文とこんにちはしました。

...毎回警告と遭遇しなきゃいけないなんて、なんだかもやっとしませんか? わたしはしました。(なのでこの後にCUDNNをインストールしました)