Windows での,TensorFlow 2.4, Keras, MatplotLib, Python 用 opencv-python 4.4 のインストール手順をスクリーンショット等で説明する.
【このページの目次】
サイト内の関連ページ
このWebページに記載しているプログラムは https://github.com/tensorflow/tensorflow#download-and-setup をもとに作成
参考 Web ページ
TensorFlow を使う場合は,必要となる NVIDIA CUDA ツールキット,NVIDIA cuDNN のバージョン確認
TensorFlow は,そのバージョンによって,必要となるNVIDIA CUDA ツールキット,NVIDIA cuDNN のバージョンが違う(最新の NVIDIA CUDA ツールキット,NVIDIA cuDNN で動くというわけでない). そのことは,https://www.tensorflow.org/install/gpu で確認できる.
そこで, まずは,使用したい TensorFlow のバージョンを確認し,それにより, 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
GPU とは,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある.
NVIDIA CUDA は,NVIDIA社が提供している GPU 用のプラットフォームである.
インストール手順の説明
Windows での NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキット 11.0,NVIDIA cuDNN 8.0.5 のインストール: 別ページで説明している.
関連 Web ページ
すでに,Python がインストール済みのとき.
ここで示すインストール手順とは異なる設定ですでに Python をインストールしていた場合は,それをそのまま使うよりも, アンインストールしておいたほうがトラブルが少ない可能性がある.
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
この操作は,必ずPython をすべてアンインストールした後に行うこと.
rmdir /s /q %APPDATA%\Python
インストールの要点
Windows で,ユーザ名が日本語のとき,あとでトラブルが発生するかもしれない. トラブルの回避策として, Python をシステム管理者の領域にインストール(パソコンの全ユーザの共有領域) する手順をここで説明
TensorFlow を使う予定がある場合は,https://pypi.org/project/tensorflow-gpu/#filesで,必要な Python のバージョンを確認しておくこと. 2020/12 時点では,Python 3.6 か 3.7 か 3.8
インストール手順
Windows での Python 3.8 のインストール(あとのトラブルが起きにくいような手順を定めている)
ページの上の方にある「Downloads」をクリック,「Download」の下にメニューが出るので,その中の「Windows」をクリック.
そして,Python 3.8.x (x は数字)を探す.
そして,Windows の 64ビット版のインストーラをダウンロードしたいので,「Windows installer (64-bit)」を選ぶ
※ すでに Python ランチャーをインストール済みのときは, 「Install launcher for all users (recommended)」がチェックできないようになっている場合がある.
そして,Python のインストールディレクトリは,「C:\Program Files\Python38」のように自動設定されることを確認.
「Install」をクリック
py とpip にパスが通っていることの確認である.
where py where pip
where py では「C:\Windows\py.exe」 が表示され, where pip では「C:\Program Files\Python38\Scripts\pip.exe」 が表示されることを確認. (「38」のところは使用する Python のバージョンに読み替えること).
表示されないときは, システムの環境変数Pathに,C:\Program Files\Python38 と C:\Program Files\Python38\Scripts が追加済みであることを確認(「38」のところは使用する Python のバージョンに読み替えること).無ければ追加し,再度コマンドプロンプトを開いて,再度「where py」,「where pip」を実行して確認.
それでもうまく行かない場合は,いろいろ原因が考えられる.対処としては,Python のアンインストールを行う.過去,アンインストールがうまく行かなかった可能性を疑う(Python の Scripts の中のファイルで,アンインストール操作により削除されるべきファイルが残っている可能性があるなど)
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
Windows での pip の実行では,コマンドプロンプトを管理者として実行することにする。
python -m pip install -U pip setuptools venv
説明ページ https://www.kkaneko.jp/tools/win/python.html
動画リンク https://youtu.be/tUItIi5pZ08
Python 関係の使い方のまとめ.
コマンドプロンプトで次のコマンドで起動、多くはスタートメニューでも起動できる
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
python -m pip install -U pip setuptools venv python -m pip install -U jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
隔離された Python 仮想環境を使用したいときは,次のような手順で, venv を用いて,隔離された Python 仮想環境を作る.
コマンドプロンプトを管理者として実行し,次のコマンドを実行.
Python の使用は「C:\venv\py36\Scripts\activate.bat」の後,「python」で行う.
py -3.8 -m pip install -U pip setuptools py -3.8 -m venv --system-site-packages C:\venv\py38 C:\venv\py38\Scripts\activate.bat python -m pip install -U pip setuptools venv python -m pip install -U jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
新しくコマンドプロンプトを開き,次のコマンドを実行. Jupyter QtConsole が開けば OK.
jupyter-qtconsole
import numpy as np import matplotlib.pyplot as plt 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 import matplotlib.pyplot as plt 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"}
設定の要点
システム環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定: true
python --version
最初に,TensorFlow,Keras のアンインストール操作を行う(旧バージョンが残っているときのトラブルの可能性を減らすため). その後,インストールを行う.
Windows での pip の実行では,コマンドプロンプトを管理者として実行することにする。
python -m pip uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow_datasets tensorflow-hub keras python -m pip install -U tensorflow tensorflow_datasets tensorflow-hub numpy pillow pydot matplotlib seaborn scikit-learn keras opencv-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
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 がインストールされていないことが原因かも知れない.
Windows でのNVIDIA CUDA ツールキット 11.0 のインストール: 別ページで説明している.
Windows での NVIDIA cuDNN 8.0.5のインストール: 別ページで説明している.
システム環境変数 TF_FORCE_GPU_ALLOW_GROWTHは次のように設定する.
環境変数の名前 TF_FORCE_GPU_ALLOW_GROWTH 値 true
python -m pip install -U h5py pillow
このとき,「tensorflow 2.4.1 requires h5py~=2.10.0, but you have h5py 3.1.0 which is incompatible」というメッセージが出る場合がある.
このメッセージが出たときは,無視せずに,表示に従い,次のコマンドを実行して対処する.
python -m pip install h5py==2.10.0
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()」
Windows で Python プログラムを動かす.
Python プログラムを動かす
※ 開発環境や Python コンソール(Jupyter Qt Console,spyder,PyCharm,PyScripter など)が便利.
結果として 「b'Hello, TensorFlow!'」のように表示されるので確認する.
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') print(hello)
結果として 「42」のように表示されるので確認する.
「tf.add(a, b)」と「a + b 」は,同じ結果になる
import tensorflow as tf a = tf.constant(10) b = tf.constant(32) print( tf.add(a, b) ) print( a + b )
結果として 「[[ 12.]]」のように表示されるので確認する.
import tensorflow as tf matrix1 = tf.constant([[3., 3.]]) matrix2 = tf.constant([[2.],[2.]]) print( tf.matmul(matrix1, matrix2) )
本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.
問い合わせ先: 金子邦彦(かねこ くにひこ)