Skip To Content

Configure ArcGIS Image Server for deep learning raster analytics

ArcGIS Image Server provides a suite of deep learning tools to classify and detect objects in imagery. These tools allow you to generate training sample datasets and export them to a deep learning framework to develop a deep learning model. Then you can perform data inference workflows, such as image classification and object detection.

ArcGIS Image Server provides a suite of tools to support an end-to-end deep learning workflow. You can use your raster data in to prepare model training data, train deep learning models, and use inferencing tools, such as image classification and object detection.

To enable deep learning capabilities in ArcGIS Server, you need to fulfill two requirements:

  1. Configure and deploy raster analysis on your enterprise.
  2. Install deep learning packages Deep Learning Installation Guide for ArcGIS Image Server.

Setup deep learning libraries

To run deep learning raster analysis in Raster Analysis server, you need to install Deep Learning Libraries, as the Raster Analysis server utilizes third-party Python packages to support deep learning workflows. Once you have installed and configured a Raster Analysis server, follow the section below to install Deep Learning Libraries.

For instructions on how to install deep learning packages, see the Deep Learning Installation Guide Deep Learning Installation Guide for ArcGIS Image Server.

Install Deep Learning Libraries

To install Deep Learning Libraries, follow the steps below on your Raster Analysis server machines:

Windows

  1. Navigate to deep-learning-frameworks repository and download Deep Learning Libraries Installer for ArcGIS Server.
  2. Extract the downloaded zip file to a new location.
  3. In the extracted file location, run the Setup installer.
  4. Follow the installer wizard to install deep learning libraries.

Linux

  1. Navigate to deep-learning-frameworks repository and download Deep Learning Libraries Installer for ArcGIS Server Linux.
  2. Extract the downloaded archive file using the command tar xvf <file>.tar.gz.
  3. Run the DeepLearling-Setup.sh script extracted from the archive file.
  4. Update ARCGIS_CONDA_DEEPLEARNING variable in <Server Install>/server/usr/init_user_param.sh file.
  5. Restart your Raster Analysis ArcGIS Server.

If there are multiple nodes on your Raster Analysis server site, you need to perform above steps on all nodes.

Verify Deep Learning Library Installation

As the last step, you will query an ArcGIS Living Atlas of the World deep learning model to verify Deep Learning Libraries are correctly installed by uploading a deep learning package and selecting it in a tool.

  1. In a browser, navigate to ArcGIS Living Atlas, and download the Building Footprint Extraction - USA. The deep learning package will have a .dlpk file extension.
  2. Sign in to your Portal for ArcGIS.
  3. Navigate to Content and click New item.
  4. Drag and drop the downloaded deep learning package into the wizard.
  5. Click Save to update the deep learning package.
  6. Click the app launcher and open Map Viewer.
  7. In Map Viewer, click the Analysis button on the Setting toolbar on the right side of the map.
  8. Click Tools, select Use deep learning, and choose Detect Objects Using Deep Learning tool to expand the tool parameters.
  9. In the Model settings section, click Select model to choose the deep learning model for the tool.

    In the Select item dialogue, it will open to the My content folder and all of your deep learning packages will be available

  10. In the Select item dialogue, select the Building Footprint Extraction - USA and click Confirm.

    If the Deep Learning Libraries are successfully loaded, then the model arguments in the tool will appear in the tool.

    Deep learning model parameters
    Model parameters for the deep learning package will appear in the tool when the libraries are installed correctly.

Now your Raster Analysis server is ready to perform deep learning analysis.

Use GPUs to run deep learning

Each tool in a deep learning raster analytics workflow includes a processorType environment parameter, which controls whether the processing will occur on the CPU or GPU. Ensure that this parameter correctly specifies whether to use CPU or GPU when making requests. The processorType environment parameter is set in the tool or raster function interface in ArcGIS Pro, Map Viewer Classic, ArcGIS REST API, or ArcGIS API for Python.

In the Raster Analysis server, inferencing tools can use a GPU to speed up job processing. The requirements for the GPU are as follows

Prerequisite:
  • GPU Type: NVIDIA GPU with a minimum CUDA compute capability of 5.0; 6.1 or later is recommended.
  • GPU Driver: NVIDIA driver version 527.41 or later are required.
  • Dedicated Graphics Memory:
    • Minimum: 6 GB
    • Recommended: 16 GB or more. The memory requirement depends on the model architecture and batch size being used.

Once you have fulfilled all the GPU requirements, you need to verify RasterProcessingGPU pooling. RasterProcessingGPU is the service responsible for running inferencing tools.

Follow these steps:

  1. In a browser, navigate to ArcGIS Server Manager > Services > System > RasterProcessingGPU > Manage Services > Pooling.
  2. Starting at version 10.8, multiple service instances can use one GPU on each server node. The maximum number of instances per machine of the RasterProcessingGPU service should be set to 1.

  3. Confirm that the Maximum number of instances per machine is set to 1. If the Maximum number of instances per machine is not set to 1, change it to 1, and click Save and Restart.

Set up the raster processing GPU.

Use multiple GPUs

Raster Analysis server can utilize multiple GPUs in a Server Site to speed up inference processing.

To enable multiple GPU capability, follow the steps below on each of your GPU machines:

  1. Confirm the GPU requirements are met.
  2. Install ArcGIS GIS Server.
  3. Install Deep Learning Libraries.
  4. Join the machine to your existing Raster Analysis server site.
  5. Note:

    The Raster Analysis server only supports using one GPU per machine. If more than one GPU is available on a machine, only one GPU will be used to process a job. It is also recommended that you use the same GPU and other hardware across all machines to ensure more stable server behavior.

    Once the above settings are configured, you can use the Processor Type and Parallel Processing Factor environment settings to use multiple GPUs and improve the performance of your deep learning inference jobs.