ArcGIS Image Server provides a suite of deep learning tools with end-to-end workflows 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.
To take advantage of GPU processing on a multiple-machine raster analytics server site, at least one GPU must be available on each server node on the site. A GPU card is not required to run the deep learning tools on your raster analytics deployment of ArcGIS Image Server. If the raster analytics server machine does not have a GPU card, the tools can be run on the CPU.
Note:
At 10.8, deep learning inference raster analytics can use multiple GPUs simultaneously on one machine.
Raster analytics in ArcGIS Image Server can use the TensorFlow, PyTorch, CNTK, and Keras Python modules with GPUs. Utilization of multiple GPUs per server node is applicable to some deep learning model configurations predefined in ArcGIS. They include Tensorflow (ObjectDetectionAPI and DeepLab), Keras (MaskRCNN), and PyTorch (FastaiSSD).
Add support for deep learning to a raster analytics deployment
Once you've configured your raster analytics deployment, follow the steps below to install the deep learning Python resources. If you have a multinode ArcGIS Image Server site, repeat these steps on each server node.
The OS account you use for these steps must be the same as the account that installed ArcGIS Image Server.
- If you'll use GPUs for your deep learning raster analytics workflow, install the appropriate NVIDIA drivers.
- Download the Deep Learning Server 10.8 Setup Application, run the Setup as administrator using the ArcGIS Image Server installer account
- Repeat steps 1 and 2 on each machine in your ArcGIS Image Server site.
In 10.8, multiple service instances are allowed to utilize multiple GPUs on each server node. The maximum number of instances per machine of the RasterProcessingGPU service should be set based on the number of GPU cards installed and intended for deep learning computation on each machine, the default is set to 1.
- In ArcGIS Server Manager, select Services > Manage Services > RasterProcessingGPU and verify the values for minimum and maximum number of instances. The default minimum and maximum number of instances per machine is 1. To utilize multiple GPUs per machine, the maximum number of instances per machine should be modified to be equal to the number of GPU cards installed per machine. For example, if each server machine has two GPUs cards, the maximum number of instances per machine should be changed into 2. Click Save and Restart for the change to be effective.
Caution:
Do not increase the maximum number of instances per machine for this service if there is only one GPU card per machine. - Restart your ArcGIS Image Server for Raster Analysis after the deep learning setup is installed.
Each request in your deep learning raster analytics workflows includes a processorType environment parameter. 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, ArcGIS REST API, or ArcGIS API for Python.