Skip To Content

ディープ ラーニング ラスター解析用の ArcGIS Image Server の構成

ArcGIS Image Server には、画像内のオブジェクトを分類および検出するためのエンドツーエンドのワークフローを備えた、さまざまなディープ ラーニング ツールが用意されています。これらのツールを使用して、トレーニング サンプル データセットを生成し、ディープ ラーニング フレームワークにエクスポートすることで、ディープ ラーニング モデルを開発できます。その後、画像分類やオブジェクト検出などのデータ推論ワークフローを実行できます。

複数コンピューターのラスター解析サーバー サイトで GPU 処理を利用するには、サイトのサーバー ノードごとに 1 つの GPU を使用できる必要があります。ArcGIS Image Server のラスター解析の配置では、GPU カードがディープ ラーニング ツールを実行する必要はありません。ラスター解析サーバー コンピューターに GPU カードが搭載されていない場合、ツールは CPU で実行できます。

備考:

10.7 では、ラスター解析は 1 台のコンピューターで複数の GPU を同時に使用することはできません。複数の GPU を搭載したコンピューターでディープ ラーニング ラスター解析ワークフローを実行する場合、GPU は 1 つだけ使用されます。

ArcGIS Image Server のラスター解析では、GPU で TensorFlow、PyTorch、CNTK、および Keras Python モジュールを使用できます。

ラスター解析の配置へのディープ ラーニング サポートの追加

ラスター解析の配置を構成したら、以下の手順に従って、Python のディープ ラーニング リソースをインストールします。複数ノードの ArcGIS Image Server サイトがある場合は、各サーバー ノードで以下の手順を繰り返します。

ラスター解析の配置を構成したら、以下の手順に従って、Python のディープ ラーニング リソースをインストールします。複数ノードの ArcGIS Image Server サイトがある場合は、各サーバー ノードで以下の手順を繰り返します。

以下の手順に使用する OS アカウントは、ArcGIS Image Server をインストールしたアカウントと同じ必要があります。

  1. ディープ ラーニング ラスター解析ワークフローに GPU を使用する場合は、適切な NVIDIA ドライバーをインストールします。
    • コンピューターに CUDA Toolkit をインストールします。詳細については、NVIDIA CUDA の Web サイトをご参照ください。
    • CUDA ディープ ニューラル ネットワーク (cuDNN) ライブラリをインストールします。詳細については、NVIDIA cuDNN の Web サイトをご参照ください。
  2. ArcGIS Server セットアップに付属しているデフォルトの Python 3.6 環境で次のコマンドを実行します。この Python セットアップは、デフォルトで C:\Program Files\ArcGIS\Server\framework\runtimes\ArcGIS\bin\Python に存在します。
  3. ディープ ラーニング ラスター解析ワークフローで使用する各 Python モジュールをインストールします。以下のサブステップ b で、環境名を指定します。モジュールの名前は、使用しているモジュールが CPU 対応か GPU 対応かを示しています。
    1. PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proenv.bat」と入力します。
    2. (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda create --name <specify environment name> --clone arcgispro-py3」と入力します。
    3. (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>activate <environment name>」と入力します。
    4. (<environment name>) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda install <module name>」と入力します。

    CPU を使用する場合の TensorFlow のインストール例

    PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proenv.bat
    (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda create --name tf-cpu --clone arcgispro-py3
    (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>activate tf-cpu
    (tf-cpu) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda install tensorflow

    GPU を使用する場合の TensorFlow のインストール例

    PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proenv.bat
    (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda create --name tf-gpu --clone arcgispro-py3
    (arcgispro-py3) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>activate tf-gpu
    (tf-gpu) C:\Program Files\arcgis\server\framework\runtime\ArcGIS\envs\arcgispro-py3>conda install tensorflow-gpu

  4. ディープ ラーニング モデルが必要とする Python パッケージの依存関係を確認およびインストールします。
  5. 必要な Python モジュールをすべてインストールしたら、proswap を入力して PS C:\Program Files\arcgis\server\framework\runtime\ArcGIS\bin\Python\Scripts> .\proswap.bat -n <environment name> バッチ スクリプトを実行し、ラスター解析サービスで使用されているデフォルトの Python 3.6 環境をクローン化された環境に切り替えます。

    備考:
    依存関係の競合を避けるため、各ディープ ラーニング フレームワークに対して仮想環境を作成することをお勧めします。2 つ以上のフレームワークが同じ Python 環境にある場合、一緒に動作させることのできない異なるバージョンのモジュールを使用している可能性があります。

  6. ArcGIS Image Server サイト内の各コンピューターで、手順 1 ~ 5 を繰り返します。

    各サーバー ノードで GPU を使用できるのは、1 つのサービス インスタンスのみです。RasterProcessingGPU サービスのコンピューターあたりの最大インスタンス数は常に 1 (デフォルト値) に設定する必要があります。

  7. [ArcGIS Server Manager] で、[サービス] > [サービスの管理] > [RasterProcessingGPU] を選択し、最小インスタンス数と最大インスタンス数の値を確認します。

    注意:
    このサービスのコンピューターあたりの最大インスタンス数は増やさないでください。

  8. ディープ ラーニング Python モジュールがインストールされたクローン環境に切り替えたら、ラスター解析用に ArcGIS Image Server を再起動します。

ディープ ラーニング ラスター解析ワークフローの各リクエストには、[processorType] 環境パラメーターが含まれています。リクエスト時に、このパラメーターで CPU と GPU のどちらを使用するかが正しく指定されていることを確認してください。[processorType] 環境パラメーターは、ArcGIS ProMap ViewerArcGIS REST API、または ArcGIS API for Python のツールまたはラスター関数インターフェイスに設定されています。