用途:Windows パソコンで,ディープラーニングの学習,実験,実習ができる環境を整える.
このページでは,次のソフトウエアのインストール,設定手順の概要や詳細情報へのリンクも示す.
目次
注意事項
【サイト内の関連ページ】
オンラインですばやく TensorFlow, Keras などを試したい場合は,Google Colaboratory の利用を検討できる.
用語集:別ページにまとめている.
説明資料: 別ページ にまとめている.
「ファイル名拡張子」をチェック,「隠しファイル」をチェックしておいた方が 作業が進めやすい(各自で判断すること).
Windows のコマンドプロンプトを開くには,検索窓で「cmd」と入れるのが簡単.
Windows のコマンドプロンプトを管理者として実行するには, 検索窓で「cmd」と入れたあと, 右クリックメニューで「管理者として実行」を選ぶのが簡単.
キーボードに 「\」があるとき, コマンドプロンプトで「\」を入れると,円記号「¥」が表示される.これは正常動作.
このページでは, ファイルを作るために,%HOMEPATH% に設定されているディレクトリを使うことにしたい.
次の例では,コマンドプロンプトで,カレントディレクトリを %HOMEPATH% に移動した後,notepad を使ってファイルを編集している.
Windows で動くMicrosoft の C++ コンパイラーである.
(例)cl hello.c
「cl hello.c」でコンパイルしたときは「hello.exe」ファイルができるので確認
#pragma warning(disable: 4996)
インストール手順
ダウンロードしインストールする. ダウンロードでは、「Build Tools for Visual Studio 2019」を選ぶ.
動画リンク: https://www.youtube.com/watch?v=7NUhUTdd75Q
コンパイラの動作確認
x64 Native Tools コマンドプロンプト で,次のコマンドを実行. ファイル名は hello.c としている.
C: cd %HOMEPATH% notepad hello.c
#include <stdio.h>
int main() {
printf("Hello,World!\n");
printf("sizeof(size_t)=%ld\n", sizeof(size_t));
return 0;
}
結果として,「Hello,World!」「sizeof(size_t)=8」と表示されればOK.
cl hello.c .\hello.exe
実行結果例
Git, cmake, 7-Zip は,ダウンロード,展開(解凍),ビルドのときに便利である.
Windows での,これらのインストールには,複数の方法がある.
次のページでは,winget を用いてインストールする場合と,winget を用いずにインストールする場合の両方について説明している. どちらかの方法でインストールすること.
Git, cmake, Wget, 7-Zip のインストール(Windows 上)
設定の要点
システム環境変数 CUDNN_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4
インストール手順などは上で説明している.
Visual Studio を使う予定がある場合は、Visual Studio をインストールを行う. Visual Studio を使う予定がない場合は、マイクロソフト C++ ビルドツールのインストールを行う.いずれも,CUDA の nvcc を機能させるため.
その方がトラブルが少ないように感じている.あとで「アンインストールを忘れていた」と思ったとしても,トラブルが発生(見慣れないエラーメッセージがでるなど)しなれけば,そのまま続行して構わない.
Windows のスタートメニューで「設定」,「アプリ」と操作して,「NVIDIA ・・・」を削除
TensorFlow を使う場合は,必要となる NVIDIA CUDA ツールキット,NVIDIA cuDNN のバージョン確認
TensorFlow は,そのバージョンによって,必要となる Python,NVIDIA CUDA ツールキット,NVIDIA cuDNN のバージョンが違う.必ずしも,「最新の NVIDIA CUDA ツールキット,NVIDIA cuDNN で動く」ということではないので,注意が必要である. そのことは,https://www.tensorflow.org/install/gpu で確認できる.
そこで, まずは,使用したい TensorFlow のバージョンにより, 必要な Python, NVIDIA CUDA ツールキット,NVIDIA cuDNN のバージョンを決める.
なお,NVIDIA CUDA ツールキットはバージョンごとにディレクトリ名が変わるので,複数バージョンの同時インストールが可能. NVIDIA cuDNN は,ディレクトリを自由に決めることができるので,複数バージョンの同時インストールが可能である.
NVIDIA CUDA ツールキットのバージョン:
指定されているバージョンより高いものは使わない. その根拠は次のページ. URL: https://www.tensorflow.org/install/source#common_installation_problems
NVIDIA cuDNN のバージョン:
その根拠は次のページ. URL: https://www.tensorflow.org/install/source#common_installation_problems
hwinfo (URL: https://www.hwinfo.com) を使って調べることができる.
いまは、グラフィックスボードの種類を確認し,次へ進む.
但し, NVIDIA CUDA ツールキットの古いバージョンを使う場合には,次のページから,最新のNVIDIA グラフィックスドライバをダウンロードして,インストールする.
NVIDIA グラフィックスドライバのダウンロード用ページ: https://www.nvidia.co.jp/Download/index.aspx?lang=jp
次の URL よりダウンロードして,インストールする.
Windows での NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキット 11.5,NVIDIA cuDNN 8.3 のインストール: 別ページで説明している.
cuDNN のダウンロードのため,利用者本人が,電子メールアドレス,表示名,パスワード,生年月日を登録.利用条件等に合意.
システム環境変数 CUDNN_PATHは次のように設定する. (cuDNN を展開したディレクトリに設定する)
環境変数の名前 CUDNN_PATH 値 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5
where cudnn64_8.dll
「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin\cudnn64_8.dll」 が表示される
動画リンク: https://www.youtube.com/watch?v=5ZI2M-0mJFo
起動は,Windows のメニューで「Visual Studio 20..」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」を選ぶ.「x64」は,64ビット版の意味である.
※ 32ビットのNative Tools コマンドプロンプトでは nvcc が動かない.
以下の操作は,x64 Native Tools コマンドプロンプトで行う
エラーメッセージが出ていないことを確認.
where cl
まず,エディタを開く(ここでは「メモ帳」を使っている).
x64 Native Tools コマンドプロンプト で,次のコマンドを実行. ファイル名は hello.cu としている.
cd %HOMEPATH% notepad hello.cu
ファイル hello.cu ができる.
「nvcc hello.cu」で a.exe というファイルができる. 「Max error: 0.000000」と表示されればOK.
うまく動かないときは,まず,マイクロソフト C++ ビルドツールの動作を,別ページの手順により確認し,異常があれば,マイクロソフト C++ ビルドツールのインストールなどで対処.それでも動かないときは,NVIDIA CUDA ツールキットのインストールしたときの作業に間違いがなかったかを再確認.
nvcc hello.cu
.\a.exe
すでに,Python がインストール済みのとき.
ここで示すインストール手順とは異なる設定ですでに Python をインストールしていた場合は,それをそのまま使うよりも, アンインストールしておいたほうがトラブルが少ない可能性がある.
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
この操作は,必ずPython をすべてアンインストールした後に行うこと.
rmdir /s /q %APPDATA%\Python rmdir /s /q "C:\Program Files\Python3*"
インストールの要点
Windows で,ユーザ名が日本語のとき,あとでトラブルが発生するかもしれない. トラブルの回避策として, Python をシステム管理者の領域にインストール(パソコンの全ユーザの共有領域)する手順をここで説明する.
TensorFlow を使う予定がある場合は,https://pypi.org/project/tensorflow-gpu/#filesで,必要な Python のバージョンを確認しておく. 2021/11 時点では,TensorFlow バージョン 2.7.0 が動くのは,Python 3.7 か 3.8 か 3.9
Python 3.9 のインストール(Windows 上)のページ: https://www.kkaneko.jp/tools/win/python.html
インストール手順
Windows での Python 3.9 のインストール(あとのトラブルが起きにくいような手順を定めている)
ページの上の方にある「Downloads」の下の「Windows」をクリック
ここでは,Python 3.9.x (x は数字)を探して,選ぶ.
以下,Python 3.9.9 を選んだとして説明を続ける.他のバージョンでも以下の手順はほぼ同じである.
TensorFlow を使う予定がある場合は,https://pypi.org/project/tensorflow-gpu/#filesで,必要な Python のバージョンを確認しておく. 2021/11 時点では,TensorFlow バージョン 2.7.0 が動くのは,Python 3.7 か 3.8 か 3.9
Windows の 64ビット版のインストーラをダウンロードしたいので、「Windows Installer (64-bit)」を選ぶ
※ すでに Python ランチャーをインストール済みのときは, 「Install launcher for all users (recommended)」がチェックできないようになっている場合がある.そのときは,チェックせずに進む.
「Install for all users」を選ぶ理由.
ユーザ名が日本語のときのトラブルを防ぐため.
表示されない場合は問題ない.そのまま続行.
py とpip にパスが通っていることの確認である.
where py where pip
where py では「C:\Windows\py.exe」 が表示され, where pip では「C:\Program Files\Python39\Scripts\pip.exe」 が表示されることを確認. (「39」のところは使用する Python のバージョンに読み替えること).
表示されないときは, システムの環境変数Pathに,C:\Program Files\Python39 と C:\Program Files\Python39\Scripts が追加済みであることを確認(「39」のところは使用する Python のバージョンに読み替えること).無ければ追加し,再度コマンドプロンプトを開いて,再度「where py」,「where pip」を実行して確認.
それでもうまく行かない場合は,いろいろ原因が考えられる.対処としては,Python のアンインストールを行う.過去,アンインストールがうまく行かなかった可能性を疑う(Python の Scripts の中のファイルで,アンインストール操作により削除されるべきファイルが残っている可能性があるなど)
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
python -m pip install -U pip setuptools
Python 開発環境,Python コンソール(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder)のインストールを行う.
Python, pip, Python 開発環境の起動コマンドのまとめ.
Windows では,python, pip, Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder は,次のコマンドで起動できる.
Windows で複数の Python をインストールしているときは,環境変数 Path で先頭の Python が使用される.
Windows の Python ランチャーでバージョン指定
Ubuntu では,python, pip, Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder は,次のコマンドで起動できる.
Ubuntu では,「sudo pip3 install」でパッケージをインストールする前に,「apt-cache search <キーワード>」で Ubuntu のパッケージを検索し,Ubuntu パッケージが見つかった場合にはそちらを 「apt install <Ubuntu のパッケージ名>」でインストール.
Windows, Ubuntu での Python 開発環境,Python コンソール(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder)のインストール: 別ページで説明している.
Python プログラムを動かすために, Python のコマンド (python あるいは python3 を使う. あるいは, Python の開発環境や Python コンソール(Jupyter Qt Console,spyder,PyCharm,PyScripter など)の利用も便利である.
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
python -m pip install -U pip setuptools jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
Python の隔離された環境を使用したいときは,次のような手順で, venv を用いて,Python の隔離された環境を作る.
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
Python の使用は「C:\venv\py39\Scripts\activate.bat」の後,「python」で行う.
新しくコマンドプロンプトを開き,次のコマンドを実行. Jupyter Qt Console が開けば OK.
jupyter qtconsole
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore') # Suppress Matplotlib warnings
x = np.linspace(0, 6, 100)
plt.plot(x, np.sin(x))
新しくコマンドプロンプトを開き,次のコマンドを実行. ntetact が開けば OK.
jupyter nteract
そのために「Start a new notebook」の下の「Python」をクリック,次のプログラムを入れ実行.
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore') # Suppress Matplotlib warnings
x = np.linspace(0, 6, 100)
plt.plot(x, np.sin(x))
jupyter notebook --generate-config
c.NotebookApp.contents_manager_class = "jupytext.TextFileContentsManager"
"jupytext": {"formats": "ipynb,py"}
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
python -m pip install -U numpy scikit-learn scikit-learn-intelex
numpy の動作確認
py -3.9 import numpy as np print(np.sin(0)) exit()
import time import numpy import numpy.linalg import sklearn.decomposition import sklearn.cluster X = numpy.random.rand(2000, 2000) Y = numpy.random.rand(2000, 2000) # 行列の積 a = time.time(); Z = numpy.dot(X, Y); print(time.time() - a) # 主成分分析 pca = sklearn.decomposition.PCA(n_components = 2) a = time.time(); pca.fit(X); X_pca = pca.transform(X); print(time.time() - a) # SVD a = time.time(); U, S, V = numpy.linalg.svd(X); print(time.time() - a) # k-means a = time.time(); kmeans_model = sklearn.cluster.KMeans(n_clusters=10, random_state=10).fit(X) labels = kmeans_model.labels_ print(time.time() - a)
実行結果の例
設定の要点
システム環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定: true
python --version
最初に,TensorFlow,Keras のアンインストール操作を行う(旧バージョンが残っているときのトラブルの可能性を減らすため). その後,インストールを行う.
python -m pip uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow_datasets tensorflow-hub keras python -m pip install -U tensorflow tf-models-official tf_slim tensorflow_datasets tensorflow-hub numpy pillow pydot matplotlib seaborn scikit-learn scikit-learn-intelex keras keras-tuner keras-visualizer opencv-python opencv-contrib-python python -m pip install git+https://github.com/tensorflow/docs python -m pip install git+https://github.com/tensorflow/examples.git
バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.
python -c "import tensorflow as tf; print( tf.__version__ )"
pip show tensorflow
TensorFlow が GPU を認識できているかの確認は,端末で,次を実行して行う.
python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
次のように「device_type: "GPU"」があれば,GPUが認識できている.エラーメッセージが出ていないことを確認しておくこと.
ここで,GPU があるのに,TensorFlow から認識されていないかもしれない. TensorFlow GPU 版が指定するバージョンの NVIDIA CUDA ツールキット,NVIDIA cuDNN がインストールされていないことが原因かも知れない.
TensorFlow 2.5 の GPU 版での,cuDNN のバージョンは 8.2,TensorFlow 2.4 の GPU 版での,cuDNN のバージョンは 8.0.5,TensorFlow 2.3, 2.2, 2.1 の GPU 版での,cuDNN のバージョンは 7.6.そして,TensorFlow 1.13 以上 TensorFlow 2.0 までの GPU 版での,cuDNN のバージョンは7.4 が良いようである.
Windows でのNVIDIA CUDA ツールキット 11.5,NVIDIA cuDNN 8.3 のインストール: 別ページで説明している.
Windows での環境変数の設定は,マイコンピュータを右クリック → プロパティ→ 詳細設定 → 環境変数をクリック
Windowsの画面の表示では、「\」(円マーク)が表示される
python -m pip install -U h5py pillow
10.png のようなファイル名で保存しておく
cd <画像を置いたディレクトリ> python
次のプログラムをコピー&ペースト
Kerasのサイトで公開されているものを少し書き換えて使用。
「'10.png'」のところは,実際に使用する画像ファイル名に書き換えること.
import h5py from tensorflow.keras.preprocessing import image from tensorflow.keras.applications.vgg16 import VGG16 from tensorflow.keras.applications.vgg16 import preprocess_input import numpy as np m = VGG16(weights='imagenet', include_top=False) img_path = '10.png' img = image.load_img(img_path, target_size=(299, 299)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) features = m.predict(x) print(features)
python の終了は「exit()」
次のプログラムをコピー&ペースト
Kerasのサイトで公開されているものを少し書き換えて使用。
「'10.png'」のところは,実際に使用する画像ファイル名に書き換えること.
import h5py
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.inception_v3 import preprocess_input, decode_predictions, InceptionV3
import numpy as np
m = InceptionV3(weights='imagenet')
img_path = '10.png'
img = image.load_img(img_path, target_size=(299, 299))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
preds = m.predict(x)
print('Predicted:')
for p in decode_predictions(preds, top=5)[0]:
print("Score {}, Label {}".format(p[2], p[1]))
python の終了は「exit()」
Web ブラウザで最新情報を確認ののち,所定のコマンドによりインストールを行う.
PyTorch の URL: https://pytorch.org/
Windows, pip, Python,NVIDIA CUDA ツールキット 11.4 での実行例
NVIDIA CUDA ツールキットのバージョンは一致するものを選ぶ. 選択肢として出てこないという場合には, 「install previous versions of PyTorch」をクリックし,そのページの記載に従う.
python -m pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
端末で,次のコマンドを実行.
※ バージョン番号が表示されれば OK.
python -c "import torch; print( torch.__version__ )"
https://pytorch.org/get-started/locally/ に記載のサンプルプログラムを実行してみる
Python プログラムを動かす.
from __future__ import print_function import torch x = torch.rand(5, 3) print(x) exit()
次の Python プログラムを実行して確認.
import torch torch.cuda.is_available() exit()
メッセージが出ないことを確認
python -c "from caffe2.python import core"
CUDA デバイスの数が表示されることを確認
python -c "from caffe2.python import workspace; print(workspace.NumCudaDevices())"
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
「v11.4」のところは,実際にインストールしている NVIDIA CUDA ツールキットのバージョンに一致させること.
mkdir c:\pytools cd c:\pytools rmdir /s /q dlib cd c:\pytools git clone https://github.com/davisking/dlib cd c:\pytools cd dlib rmdir /s /q build mkdir build cd build del CMakeCache.txt cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 ^ -DCUDA_SDK_ROOT_DIR=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.4 ^ -DCUDA_TOOLKIT_ROOT_DIR=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.4 ^ -DCMAKE_INSTALL_PREFIX=C:/pytools/dlib ^ -DUSE_AVX_INSTRUCTIONS=1 ^ .. cmake --build . --config RELEASE --target INSTALL cd c:\pytools cd dlib python setup.py build python setup.py install python -c "import dlib; print( dlib.__version__ )" cd c:\dlib\python_examples curl -O http://dlib.net/files/mmod_human_face_detector.dat.bz2 curl -O http://dlib.net/files/dlib_face_recognition_resnet_model_v1.dat.bz2 curl -O http://dlib.net/files/shape_predictor_5_face_landmarks.dat.bz2 curl -O http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2 e mmod_human_face_detector.dat.bz2 e dlib_face_recognition_resnet_model_v1.dat.bz2 e shape_predictor_5_face_landmarks.dat.bz2 e shape_predictor_68_face_landmarks.dat.bz2 del mmod_human_face_detector.dat.bz2 del dlib_face_recognition_resnet_model_v1.dat.bz2 del shape_predictor_5_face_landmarks.dat.bz2 del shape_predictor_68_face_landmarks.dat.bz2 cd c:\dlib cd tools\htmlify rmdir /s /q build mkdir build cd build cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 ^ -DCMAKE_INSTALL_PREFIX="c:\dlib" .. cmake --build . --config RELEASE cmake --build . --config RELEASE --target INSTALL cd c:\dlib cd tools\imglab rmdir /s /q build mkdir build cd build cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 ^ -DCMAKE_INSTALL_PREFIX="c:\dlib" .. cmake --build . --config RELEASE cmake --build . --config RELEASE --target INSTALL cd c:\dlib cd examples rmdir /s /q build mkdir build cd build cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 ^ -DCMAKE_INSTALL_PREFIX="c:\dlib" .. cmake --build . --config RELEASE
Dlib の動作確認のため,次を実行.エラーメッセージが出ずに,顔検出の結果が表示されれば OK とする.
cd c:\dlib\python_examples python cnn_face_detector.py mmod_human_face_detector.dat ..\examples\faces\2007_007763.jpg
face_recognition の動作には,dlib が必要
mkdir c:\pytools cd c:\pytools rmdir /s /q face_recognition cd c:\pytools git clone https://github.com/ageitgey/face_recognition cd face_recognition python setup.py build python setup.py install
Web ブラウザで最新情報を確認ののち,所定のコマンドによりインストールを行う.
■ インストールではパスを通す.
getBaseModels.bat を実行する.
cd C:\openpose-1.7.0-binaries-win64-gpu-python3.7-flir-3d_recommended\openpose cd models getBaseModels.bat
OpenPose の動作確認のため,次を実行.エラーメッセージが出ずに,顔検出の結果が表示されれば OK とする.
cd C:\openpose-1.7.0-binaries-win64-gpu-python3.7-flir-3d_recommended\openpose bin\OpenPoseDemo.exe --video examples\media\video.avi
次を実行する.
cd c:\ rmdir /s /q alpr_jp git clone https://github.com/dyama/alpr_jp
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
python -m pip install git+https://github.com/ipazc/mtcnn.git python -c "import mtcnn; print(mtcnn.__version__)"
matterplot/masked_rcnn の URL: https://github.com/matterport/Mask_RCNN
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
python -m pip install scikit-image cython python -m pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI cd c:\pytools rmdir /s /q Mask_RCNN git clone --recursive https://github.com/matterport/Mask_RCNN cd Mask_RCNN python -m pip install -r requirements.txt python setup.py build python setup.py install cd samples/coco
https://github.com/matterport/Mask_RCNN/blob/master/samples/demo.ipynb に記載のプログラムを実行してみる.
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
cd c:\pytools rmdir /s /q muzero-general git clone https://github.com/werner-duvaud/muzero-general.git cd muzero-general python -m pip install -r requirements.txt
確認のため実行してみる.
python muzero.py tensorboard --logdir ./results
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
cd c:\pytools rmdir /s /q gym git clone https://github.com/openai/gym.git cd gym python -m pip install -e .