Find answers to common questions about deep learning.
All Image Analyst deep learning geoprocessing tools and several Deep Learning Tools on the Imagery tab (such as the Label Objects for Deep Learning pane and the Deep Learning Model Review pane), require the ArcGIS Image Analyst extension. The Train Deep Learning Model wizard and the Extract Features tool require the ArcGIS Image Analyst extension and the ArcGIS Pro Advanced license. Some of the tools are also available with the ArcGIS Spatial Analyst extension.
The Classification (Deep Learning) toolset and the Object Detection (Deep Learning) toolset both require the ArcGIS 3D Analyst extension.
The interactive Object Detection tool for imagery in a 3D scene requires either an ArcGIS Pro Advanced license or the ArcGIS Image Analyst extension.
Yes, you need to follow the instructions listed in Install deep learning frameworks for ArcGIS.
Item | Supported and recommended |
---|---|
GPU type | NVIDIA GPU with CUDA compute capability 5.0 minimum; 6.1 or later recommended. See the list of CUDA-enabled cards to determine compute capability of a GPU, or check the CUDA Compute section of the system requirements checker. |
GPU driver | NVIDIA GPU drivers: version 527.41 or later is required. |
Dedicated graphics memory | Minimum: 6 GB |
Recommended: 16 GB or more | |
Memory requirements depend on the model architecture and batch size being used. |
There are several geoprocessing tools that will use multiple GPUs on a single machine:
- The ArcGIS Image Analyst inferencing tools such as: Classify Objects Using Deep Learning, Classify Pixels Using Deep Learning, Detect Changes Using Deep Learning, and Detect Objects Using Deep Learning.
- The Train Deep Learning Model tool, when the Model Type parameter is set to one of the following options: ConnectNet, Feature classifier, MaskRCNN, Multi Task Road Extractor, Single Shot Detector, or U-Net.
- The arcgis.learn models for training deep learning models.
While the GPU is primarily responsible for the actual model training, the CPU plays an important supporting role; it handles tasks such as data loading, preprocessing, and data augmentation. In some cases, such as using specific frameworks or operating systems, the CPU can become a limiting factor. This can impact training speed, particularly when working with large datasets or complex data transformations. Data augmentation can consume significant CPU resources when using large image chips. If your training does not require data augmentation, setting it to None can help optimize performance.
I have an older GPU that is incompatible with the software, or I have low GPU memory. What are the requirements?
If you do not have the required 4 to 8 GB of VRAM, you can run most of the tools on the CPU, though the processing time will be longer.
The Detect Objects From Point Cloud Using Trained Model tool and the Train Point Cloud Object Detection Model tool do not support CPU processing; they can only run on the GPU. These tools return an error when the CPU is specified as the processor type.
Use nvidia-smi, which is a command line utility that is installed with NVIDIA drivers.
- Open a Windows Command Prompt window.
- Type nvidia-smi.
- Press the Enter key.
Note:
If nvidia-smi is not found, you need to change to the proper directory in the Command Prompt window before you run the command. Use the Windows search bar to locate nvidia-smi.
Under GPU Memory Usage, you can determine whether GPU memory is being used.
To monitor the continuous usage of your GPU when running the tools, you can run nvidia-smi -l 10. You can use this to determine what the batch size should be when running the deep learning tools. If you notice there is memory not being used, you can increase the batch size. If you notice that the memory usage is at its maximum and the tool fails, decreasing the batch size should help.
The following are possible causes:
- An out-of-date GPU driver will cause deep learning tools to fail with runtime errors, indicating that CUDA is not installed or an unsupported tool chain is present. Verify that you have the most recent GPU drivers from NVIDIA.
- ArcGIS AllSource requires a GPU with Maxwell CUDA architecture, or newer; older GPUs are not supported. You can find the CUDA Toolkit version for each release of ArcGIS in the Manifest of included packages section of the Deep Learning Libraries Installers for ArcGIS GitHub page.
If you are not already using the GPU, set Processor Type to GPU in the Environment settings of the tool. You can also increase the batch size for optimal GPU use. If the batch size is too high, the CUDA_OUT_MEMORY error may occur, and you'll need to experiment with the batch size to find the right size for your mode.
Why am I seeing conda or jupyter notebook not recognized as internal or external command when trying to install the libraries manually?
You may see these errors if you are using the standard Windows command prompt instead of ArcGIS AllSource Python Command Prompt. You can access ArcGIS AllSource Python Command Prompt from the Start menu by searching for Python Command Prompt, or you can find it in the ArcGIS AllSource installation location. ArcGIS AllSource Python Command Prompt allows you to access the standard tools and libraries that come with Conda or Jupyter.
There are various methods for verifying the results of deep learning models. For more information, see Review results.
For the most recent list of required libraries, see the Deep Learning Libraries Installers for ArcGIS GitHub page. The required library versions for previous versions of ArcGIS AllSource are listed in the manual installation guides (PDFs) for each version.