トップページインストール,運用Windows ソフトウエアPython 3.8, Python 開発環境, TensorFlow 2.4.1, Keras 2.4.3, MatplotLib 3.3.4, Python 用 opencv-python 4.5.1 のインストール(Windows 上)

Python 3.8, Python 開発環境, TensorFlow 2.4.1, Keras 2.4.3, MatplotLib 3.3.4, Python 用 opencv-python 4.5.1 のインストール(Windows 上)

Windows での,TensorFlow 2.4, Keras, MatplotLib, Python 用 opencv-python 4.4 のインストール手順をスクリーンショット等で説明する.

【このページの目次】

  1. 前準備
  2. Python 3.8 のインストール,pip と setuptools の更新,Python 開発環境(JupyterLab, spyder, nteract)のインストール
  3. Python 3.8, Python 開発環境, TensorFlow 2.4.1, Keras 2.4.3, MatplotLib 3.3.4, Python 用 opencv-python 4.5.1 のインストール(Windows 上)
  4. TensorFlow, Keras, VGG 16, InceptionV3, Imagenet による画像分類を試してみる
  5. TensorFlow のプログラム例

サイト内の関連ページ

先人に感謝.

このWebページに記載しているプログラムは https://github.com/tensorflow/tensorflow#download-and-setup をもとに作成

参考 Web ページ

前準備

(NVIDIA GPU を使うとき)TensorFlow のバージョンを確認の上,NIDIA CUDA ツールキットとNIDIA cuDNN のバージョンを確認

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

(NVIDIA GPU を使うとき)NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキット 11.0 ,NVIDIA cuDNN 8.0.5 のインストール

GPU とは,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある.

NVIDIA CUDA は,NVIDIA社が提供している GPU 用のプラットフォームである.

インストール手順の説明

Windows での NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキット 11.0NVIDIA cuDNN 8.0.5 のインストール: 別ページで説明している.

関連 Web ページ

Python 3.8 のインストール,pip と setuptools の更新,Python 開発環境(JupyterLab, spyder, nteract)のインストール

古いバージョンの Python のアンインストール

すでに,Python がインストール済みのとき.

ここで示すインストール手順とは異なる設定ですでに Python をインストールしていた場合は,それをそのまま使うよりも, アンインストールしておいたほうがトラブルが少ない可能性がある.

  1. Python をインストール済みであるかを確認.
  2. インストール済みのときは,Pythonをすべてアンインストールしてから,ここから下の操作を開始した方がトラブルが少ない.
  3. Python 関係のファイルの削除

    コマンドプロンプトを管理者として実行し,次のコマンドを実行.

    この操作は,必ずPython をすべてアンインストールした後に行うこと.

    rmdir /s /q %APPDATA%\Python
    

Python 3.8 のインストール

インストールの要点

インストール手順

Windows での Python 3.8 のインストール(あとのトラブルが起きにくいような手順を定めている)

  1. TensorFlow のインストール予定がある場合には, TensorFlow のページで,必要な Python のバージョンを確認

    URL: https://www.tensorflow.org/install/pip?hl=ja

  2. Python の URL を開く

    URL: https://www.python.org

  3. Windows 版の Python 3.8 をダウンロード

    ページの上の方にある「Downloads」の下の「Windows」をクリック

  4. Python のバージョンを選ぶ

    ここでは,Python 3.8.x (x は数字)を探して,選ぶ.

    以下,Python 3.8.7 を選んだとして説明を続ける.他のバージョンでも以下の手順はだいたい同じである.

    TensorFlow を使う予定がある場合は,https://pypi.org/project/tensorflow-gpu/#filesで,必要な Python のバージョンを確認しておくこと. 2020/12 時点では,Python 3.6 か 3.7 か 3.8

  5. ファイルの種類を選ぶ.

    Windows の 64ビット版のインストーラをダウンロードしたいので、「x86_64-executable-installer」を選ぶ

  6. ダウンロードが始まる

  7. インストール時の設定
    1. いまダウンロードした .exe ファイルを右クリック, 右クリックメニューで「管理者として実行」を選ぶ.

      [image]
    2. Pythonランチャーをインストールするために,「Install launcher for all users (recommended)」をチェック.

      ※ すでに Python ランチャーをインストール済みのときは, 「Install launcher for all users (recommended)」がチェックできないようになっている場合がある.

    3. Add Python 3.8 to PATH」をチェック.
    4. Customize installation」をクリック.

    5. オプションの機能 (Optional Features)は,既定(デフォルト)のままでよい. 「Next」をクリック

    6. Install for all users」を選ぶ.

      Install for all users」を選ぶ理由.

      ユーザ名が日本語のときのトラブルを防ぐため.

      そして,Python のインストールディレクトリは,「C:\Program Files\Python38」のように自動設定されることを確認.

    7. インストールが始まる

    8. インストールが終了したら,「Close」をクリック

    9. Disable path length limit」が表示される場合がある.クリックして,パス長の制限を解除する

      [image]
    10. インストールが終了したら,「Close」をクリック

  8. インストールのあと,Windows のスタートメニューに「Python 3.8」が増えていることを確認.
  9. システムの環境変数Pathの確認のため,新しくコマンドプロンプトを開き,次のコマンドを実行.

    pypipパスが通っていることの確認である.

    where py
    where pip
    

    where py では「C:\Windows\py.exe」 が表示され, where pip では「C:\Program Files\Python38\Scripts\pip.exe」 が表示されることを確認. (「38」のところは使用する Python のバージョンに読み替えること).

    [image]

    表示されないときは, システムの環境変数Pathに,C:\Program Files\Python38C:\Program Files\Python38\Scripts が追加済みであることを確認(「38」のところは使用する Python のバージョンに読み替えること).無ければ追加し,再度コマンドプロンプトを開いて,再度「where py」,「where pip」を実行して確認.

    それでもうまく行かない場合は,いろいろ原因が考えられる.対処としては,Python のアンインストールを行う.過去,アンインストールがうまく行かなかった可能性を疑う(Python の Scripts の中のファイルで,アンインストール操作により削除されるべきファイルが残っている可能性があるなど)

  10. pip と setuptools の更新

    コマンドプロンプトを管理者として実行し,次のコマンドを実行.

    Windows での pip の実行では,コマンドプロンプトを管理者として実行することにする。

    python -m pip install -U pip setuptools
    

説明ページ https://www.kkaneko.jp/tools/win/python.html

動画リンク https://youtu.be/tUItIi5pZ08

Python 開発環境(JupyterLab, spyder, nteract)

Python 関係の使い方のまとめ.

コマンドプロンプトで次のコマンドで起動、多くはスタートメニューでも起動できる

  1. pip と setuptools の更新,Python 開発環境(JupyterLab, spyder)のインストール(Windows 上)

    コマンドプロンプトを管理者として実行し,次のコマンドを実行.

    Windows での pip の実行では,コマンドプロンプトを管理者として実行することにする。

    [image]

    python -m pip install -U pip setuptools jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
    

    隔離された Python 仮想環境を使用したいときは,次のような手順で, venv を用いて,隔離された Python 仮想環境を作る.

    • 隔離された Python 仮想環境の名前: py38
    • 使用するPython のバージョン: 3.8
    • Python 仮想環境を置くディレクトリ: C:\venv\py38

    コマンドプロンプトを管理者として実行し,次のコマンドを実行.

    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 jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
    
  2. jupyter qtconsole の起動チェック

    新しくコマンドプロンプトを開き,次のコマンドを実行. Jupyter QtConsole が開けば OK.

    jupyter qtconsole
    

  3. 確認のため,Jupyter QtConsole で,次の Python プログラムを実行してみる.
    import numpy as np
    import matplotlib.pyplot as plt
    %matplotlib inline
    import warnings
    warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
    x = np.linspace(0, 6, 100)
    plt.plot(x, np.sin(x))
    

  4. nteract の起動チェック

    新しくコマンドプロンプトを開き,次のコマンドを実行. ntetact が開けば OK.

    jupyter nteract
    

  5. 確認のため,nteract で,次の Python プログラムを実行してみる.

    そのために「Start a new notebook」の下の「Python」をクリック,次のプログラムを入れ実行.

    import numpy as np
    import matplotlib.pyplot as plt
    %matplotlib inline
    import warnings
    warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
    x = np.linspace(0, 6, 100)
    plt.plot(x, np.sin(x))
    

  6. juypter notebook で,保存のときに,.py ファイルと .ipyrb ファイルが保存されるように設定.(この設定を行わないときは .ipyrb ファイルのみが保存される)
    1. 次のコマンドで,設定ファイルを生成

      jupyter notebook --generate-config
      
    2. jupyter/jupyter_notebook_config.py を編集し,末尾に,次を追加

      c.NotebookApp.contents_manager_class = "jupytext.TextFileContentsManager"

    3. jupyter notebook を起動し,Edit, Edit Notbook Manager を選ぶ.次のように設定する.

      "jupytext": {"formats": "ipynb,py"}

TensorFlow 2.4.1, Keras 2.4.3, MatplotLib 3.3.4, Python 用 opencv-python 4.5.1 のインストール(Windows 上)

設定の要点

システム環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定: true

  1. Windows で,コマンドプロンプトを管理者として実行する.

    [image]
  2. 使用する Python のバージョンの確認
    python --version
    

    [image]
  3. TensorFlow 2.4.1, Keras 2.4.3, MatplotLib 3.3.4, Python 用 opencv-python 4.5.1 のインストール

    最初に,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 tf-models-official tensorflow_datasets tensorflow-hub numpy pillow pydot matplotlib seaborn scikit-learn keras keras-tuner keras-visualizer opencv-python
    python -m pip install git+https://github.com/tensorflow/docs
    python -m pip install git+https://github.com/tensorflow/examples.git
    

    [image]
    (途中省略)
    [image]
    (以下省略)
  4. TensorFlow のバージョン確認

    バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.

    python -c "import tensorflow as tf; print( tf.__version__ )"
    

    [image]
  5. パッケージの情報の表示

    pip show tensorflow
    

    [image]
  6. TensorFlow からGPU が認識できているかの確認

    python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
    

    次のように「device_type: "GPU"」があれば,GPUが認識できている.エラーメッセージが出ていないことを確認しておくこと.

    [image]

    ここで,GPU があるのに,TensorFlow から認識されていないかもしれない. TensorFlow GPU 版が指定するバージョンの NVIDIA CUDA ツールキット,NVIDIA cuDNN がインストールされていないことが原因かも知れない.

    • Windows では,TensorFlow 2.4 GPU 版での,NVIDIA CUDA のバージョンは,11.0 が良いようである(Windows では,11.1 や 11.2 で動かすことが難しいようである).

    Windows でのNVIDIA CUDA ツールキット 11.0 のインストール: 別ページで説明している.

    Windows での NVIDIA cuDNN 8.0.5のインストール: 別ページで説明している.

  7. システム環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定

    Windows での環境変数の設定は,マイコンピュータを右クリック → プロパティ→ 詳細設定 → 環境変数をクリック

    Windowsの画面の表示では、「\」(円マーク)が表示される

TensorFlow, Keras, VGG 16, InceptionV3, Imagenet による画像分類を試してみる

  1. 前準備として h5py, pillow のインストール

    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
    
  2. 画像の準備

    10.png のようなファイル名で保存しておく

    [image]
  3. Python プログラムを動かす.
    cd <画像を置いたディレクトリ>
    python 
    

    [image]
  4. VGG 16, Imagenet による学習済みの重みデータによる画像分類を試してみる

    次のプログラムをコピー&ペースト

    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) 
    

    [image]

    python の終了は「exit()」

  5. InceptionV3, Imagenet による学習済みの重みデータによる画像分類を試してみる

    次のプログラムをコピー&ペースト

    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]))
    

    [image]

    python の終了は「exit()」

TensorFlow のプログラム例

  1. TensorFlow がインストールできたかを確認したい.

    Windows で Python プログラムを動かす.

    Python プログラムを動かす

    • Windows では,「python」コマンドやPythonランチャーである「py」コマンド
    • Ubuntu では,「python3」コマンド

    ※  開発環境や Python コンソール(Jupyter Qt ConsolespyderPyCharmPyScripter など)が便利.

    結果として 「b'Hello, TensorFlow!'」のように表示されるので確認する.

    import tensorflow as tf
    hello = tf.constant('Hello, TensorFlow!')
    print(hello)
    

    [image]
  2. 今度は,次の Python プログラムを実行してみる.

    結果として 「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 )
    

    [image]
  3. 今度は,次の Python プログラムを実行してみる.

    結果として 「[[ 12.]]」のように表示されるので確認する.

    import tensorflow as tf
    matrix1 = tf.constant([[3., 3.]])
    matrix2 = tf.constant([[2.],[2.]])
    print( tf.matmul(matrix1, matrix2) )
    

    [image]