トップページ情報工学を学ぶ人工知能の実行,Python プログラム (Windows 上)DilatedNet によるセマンティック・セグメンテーション(nicolov の実装, Python 3.7,TensorFlow 1.15.5, Keras 2.3.1 を使用)(Windows 上)

DilatedNet によるセマンティック・セグメンテーション(nicolov の実装, Python 3.7,TensorFlow 1.15.5, Keras 2.3.1 を使用)(Windows 上)

目次

  1. 前準備
  2. DilatedNet のインストール,学習済みモデルのダウンロード,DilatedNet によるセマンティック・セグメンテーションの実行
  3. Ubuntu の場合
【ここでの注意点】

TensorFlow 1.15.5 を動かすため:

外部へのリンク

ソースコードなど: https://github.com/nicolov/segmentation_keras

学習済みモデル: https://github.com/nicolov/segmentation_keras/releases/download/model/nicolov_segmentation_model.tar.gz

前準備

Visual Studio Community 2017 のインストール

NVIDIA CUDA 10.0 は Visual Studio Commnity 2017, 2015, 2013, 2012 と連携して動く機能がある.

NVIDIA CUDA 10.0 のインストールの前に, Visual Studio Commnity 2017 のインストールを行う.

Visual Studio Commnity 2017 のインストールは, https://visualstudio.microsoft.com/ja/vs/older-downloads/ で「2017」を選び,「ダウンロード」をクリック. その後表示されるダウンロードの画面で, 「Visual Studio Commnity 2017」を選ぶ.

Windows では Git,7-Zip のインストール(Ubuntu では Git,p7zip,curl のインストール)

UbuntuGit, p7zip, curl をインストールするには, 端末で,次のコマンドを実行

sudo apt -y update
sudo apt -y install git p7zip-full curl

NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール

GPU は,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある. NVIDIA CUDA ツールキット は,NVIDIA社が提供している GPU 用のプラットフォームである.

インストールの詳細説明

Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール: 別ページで説明している.

NVIDIA ドライバのインストール

インストールの要点

インストールの詳細説明

NVIDIA CUDA ツールキット 10.0, NVIDIA cuDNN 7.6.5 のインストール

インストールの詳細説明

Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール: 別ページで説明している.

インストールの要点

Python 3.7 64 ビット版のインストール,pip と setuptools の更新,Python 開発環境 (JupyterLab, spyder, nteract)のインストール

① Python 3.7 64 ビット版のインストール(Windows 上)

インストールの詳細説明

https://www.kkaneko.jp/tools/win/python37.html

Python のインストールでの注意点

インストール手順

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

  1. Python の URL を開く

    URL: https://www.python.org

  2. Windows 版の Python 3.7 をダウンロード

    ページの上の方にある「Downloads」をクリック,「Downloads」の下にメニューが出るので,その中の「Windows」をクリック.

    そして,Python 3.7.x (x は数字)を探す.

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

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

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

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

    3. Add Python 3.7 to PATH」をチェック.

      [image]
    4. Customize installation」をクリック.

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

      [image]
    6. Install for all users」を選んでおいたほうが,複数人で使えて便利という考え方もある.

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

      Install」をクリック

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

      [image]
    8. インストールが終了したら,「Close」をクリック
  4. インストールのあと,Windows のスタートメニューに「Python 3.7」が増えていることを確認.
  5. システムの環境変数 Path の確認のため,新しくコマンドプロンプトを開き,次のコマンドを実行.

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

    where py
    where pip
    

    where py では「C:\Windows\py.exe」 が表示され, where pip では「C:\Program Files\Python37\Scripts\pip.exe」 が表示されることを確認.

② pip と setuptools の更新(Windows 上)

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

    Windowspip を実行するときは,コマンドプロンプト管理者として実行し,それを使って pip を実行することにする.

    コマンドプロンプトを管理者として実行: 別ページで説明している.

  2. 次のコマンドを実行

    py -3.7 -m pip install -U pip setuptools
    

【pip の利用】

pip は,次のコマンドで起動できる.

③ Python 開発環境 (JupyterLab, spyder, nteract)のインストール

Python 開発環境のコマンドでの起動のまとめ. (Python 3.7 を指定する場合

Windows の Python ランチャーでバージョン指定

インストール手順

  1. Python 開発環境,Python コンソールJupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder)のインストール(Windows 上)

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

    Python の使用は「py -3.7」で行う.

    Windowspip を実行するときは,コマンドプロンプト管理者として実行し,それを使って pip を実行することにする.

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

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

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

    Python の使用は「C:\venv\py37\Scripts\activate.bat」の後,「python」で行う.

    py -3.7 -m pip install -U pip setuptools
    py -3.7 -m venv C:\venv\py37
    C:\venv\py37\Scripts\activate.bat
    python -m pip install -U pip setuptools jupyterlab jupyter jupyter-console jupytext PyQt5 nteract_on_jupyter spyder
    

TensorFlow 1.15.5, Keras 2.3.1 のインストール

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

py -3.7 -m pip uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow-text tf-models-official tf_slim tensorflow_datasets tensorflow-hub keras keras-tuner keras-visualizer scipy pandas matplotlib
# TensorFlow 1.15.5 のため numpy, protobuf の古いバージョンを使用.エラーが出にくいと考えられる numpy 1.16.2, protobuf 3.19.4 を使用
py -3.7 -m pip install -U numpy==1.16.2 protobuf==3.19.4 tensorflow-gpu==1.15.5 keras==2.3.1 scipy==1.5.4
py -3.7 -m pip install git+https://github.com/tensorflow/docs
py -3.7 -m pip install git+https://github.com/tensorflow/examples.git
py -3.7 -m pip install git+https://www.github.com/keras-team/keras-contrib.git

DilatedNet のインストール,学習済みモデルのダウンロード,DilatedNet によるセマンティック・セグメンテーションの実行

コマンドプロンプトで次のコマンドを実行.

cd %HOMEPATH%
rmdir /s /q segmentation_keras
git clone --recursive https://github.com/nicolov/segmentation_keras
cd segmentation_keras
curl -LO https://github.com/nicolov/segmentation_keras/releases/download/model/nicolov_segmentation_model.tar.gz
"c:\Program Files\7-Zip\7z.exe" x nicolov_segmentation_model.tar.gz

del images\seg_cat.png
py -3.7 predict.py --weights_path conversion/converted/dilation8_pascal_voc.npy

[image]

結果として images\cat_seg.png ができる.表示して確認する.

[image]

元画像は,次の画像である.

[image]

Ubuntu の場合

  • Ubuntu では,venv の 前もって Python をインストールしておくことを作り, そこにインストールする. TensorFlow, Keras のインストール手順は,「別のページ」で説明している.

    predict.py を動かすだけなら,keras 2.1, tensorflow 1.5 で良さそう

    sudo apt -y update
    sudo apt -y install python3-venv
    cd
    python3 -m venv .venv
    source ~/.venv/bin/activate
    sudo python3 -m pip install -U tensorflow-gpu tensorflow_datasets keras
    
    cd %HOMEPATH%
    git clone --recursive https://github.com/nicolov/segmentation_keras
    cd segmentation_keras
    curl -L https://github.com/nicolov/segmentation_keras/releases/download/model/nicolov_segmentation_model.tar.gz | tar xvf -
    python predict.py --weights_path conversion\converted\dilation8_pascal_voc.npy