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 run the deep learning tools on your raster analytics deployment of ArcGIS Image Server, one graphical processing unit (GPU) must available on each server node in the site.
Note:
At 10.7, raster analytics cannot use multiple GPUs simultaneously on one machine. If you run a deep learning raster analytics workflow on a machine with multiple GPUs, only one GPU will be used.
Raster analytics in ArcGIS Image Server can use the TensorFlow or Keras Python framework with GPUs. A script tool is included in the ArcGIS Image Server installation to help you set up the Python framework of your choice.
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.
- Install the appropriate NVIDIA drivers for the CUDA Toolkit
on the machine.
See the NVIDIA CUDA website for information.
- Install the CUDA Deep Neural Network (cuDNN) library.
See the NVIDIA cuDNN website for information.
- Open a terminal as the user who installed ArcGIS Image Server.
- Browse to the <ArcGIS Server installation directory>/tools/arcgis-imageDL-setup folder.
- Run the tool with the following command: ./arcgis-imageDL-setup.
The tool help appears.
- Install the Python framework you want to use for deep learning raster analysis, either TensorFlow or Keras.
- To install TensorFlow, execute the command ./arcgis-imageDL-setup install tensorflow
- To install Keras, execute the command ./arcgis-imageDL-setup install keras
- Repeat steps 1 through 6 on each machine in your ArcGIS Image Server site.
Only one service instance is allowed to use the GPU on each server node. The maximum number of instances per machine of the RasterProcessingGPU service should always be set to 1, which is the default.
- Verify the maximum number of instances per machine of the RasterProcessingGPU service in ArcGIS Server Manager. Navigate to Services > Manage Services > RasterProcessingGPU, then click on RasterProcessingGPU to go to the editing page. Under the Pooling tab, verify that the Maximum instances per machine is set as 1.
Caution:
Do not increase the maximum number of instances per machine for this service. - Restart your ArcGIS Image Server for Raster Analysis after swapping to the cloned environment with your deep learning python modules installed.