X
39227

ENVI Deep Learning FAQ

This article provides some frequently asked questions about ENVI Deep Learning.

Q: What are some of the unique features of ENVI Deep Learning?

A: ENVI Deep Learning leverages TensorFlow technology to train deep learning models within the ENVI user interface. Since ENVI Deep Learning is seamlessly integrated with ENVI, you can:

  • Pre-process data using ENVI tools
  • Iterate through a series of guided steps to interactively label data, train models, perform classification, and edit the results. 

There is no reason to leave the ENVI platform for any part of the process. 

ENVI does not require the use of a programming interface to run, allowing non-programmers to quickly get up to speed with their projects. An easy-to-use API and the ENVI Modeler can assist more advanced users in processing multiple images in complex workflows. Users have access to a 'Guide Map' to help them navigate the appropriate steps for their projects.

Q: Does ENVI Deep Learning require a graphics (GPU) card? Does it perform better with a GPU card? Can it run on the CPU?

Q: Can the ENVI Deep Learning module take advantage of a graphics card with multiple GPUs?A:  Some processes—such as creating and exporting training samples, or classifying a trained model—may run reasonably well on a CPU. However, a CPU is not recommended when training deep learning models. This process is computationally intensive and significantly slower. We recommend a GPU with at least 8 GB of memory.

The underlying TensorFlow deep learning code is optimized for NVIDIA GPUs. See a list of CUDA-enabled GPU cards at https://developer.nvidia.com/cuda-gpusAMD GPUs are not supported for deep learning by TensorFlow

See the Deep Learning System Requirements topic on the L3Harris Geospatial Documentation Center. These system requirements are for the most current version of ENVI Deep Learning.

Q: What CUDA versions are required for each version of ENVI Deep Learning?

A: ENVI Deep Learning 1.0 and 1.1 require CUDA 9.0. Version 1.1.2 requires CUDA 10.1. Versions 1.1.3 and 1.2 require CUDA 11.0. CUDA is included with the ENVI Deep Learning software installer. 

Q: Can the ENVI Deep Learning module take advantage of a graphics card with multiple GPUs?

A: At this time, the module does not support the utiilization of graphics cards with multiple GPUs, and the module cannot be configured to do so. ENVI Deep Learning is not setup to leverage more than a single GPU for any given task. 

  • By default TensorFlow will try to consume all available memory from all available GPUs. We do not allow for this as it’s not efficient and subject to issue for various reasons. 
  • ENVI Deep Learning supports a training session Per GPU but NOT for the same job creating a single model.  This is true for oher components of machine learning including classification - one GPU per process.  

Q: When I run the 'Test installation configuration' tool, why do I get the Warning "Unable to determine NVIDIA graphics driver version. Please, verify you are using version 384.x or higher."?

A: We will try to determine if your system complies with the minimum requirements to run Deep Learning. If IDL cannot determine that for some reason, a warning will be issued and it is up to you to verify compliance.

Q: Can ENVI Deep Learning handle multiple images as input for training and as output from classification?

A: Training accepts multiple images. Classification accepts a single image at a time, but the ENVI Modeler (or ENVI Task API) can be used to loop through multiple images.

Q: Does ENVI Deep Learning have a labeling tool?

A: Yes, beginning with version 1.1, the Deep Learning Labeling Tool facilitates the labeling process. It lets you create projects while keeping track of your labels and classes for you. It automatically creates label rasters to use for training so that you don't have to create them using separate tools.

Q: Is deep learning a simple and quick process?

A: Although you can usually get good results from labeling only a few features and accepting the default parameters in ENVI Deep Learning, you will get much more accurate results by investing some time in these steps. Labeling features and training deep learning models are not always quick and easy processes. However, once you build a good model to find specific features in a certain type of image, you do not have to retrain the model. You can build it once and use it multiple times to classify different images, as long as they have similar spectral and spatial properties.

Q: Can you perform training on the same image that you use to classify features? For example, can you locate feature classes in a subset of the same image that is used for classification?

A: Yes, this is a perfectly valid exercise. ENVI analytics always work on the image that is currently open. With ENVI Deep Learning, you can pick several image subsets as training data from the image that is currently displayed.

Q: Does ENVI Deep Learning support simultaneous, multiple class processing?

A: Yes, beginning with version 1.1.

Q: Does ENVI Deep Learning work with multispectral or hyperspectral imagery, or is it limited to RGB or panchromatic data?

A: It works with all of the above. 

Q: Does ENVI Deep Learning use the wavelength information in multispectral and hyperspectral data?

A: No, not directly. However, when you give deep learning groups of target pixels defined by ROIs, it will try to find what within those groups of pixels is unique and different from the rest. This could be a combination of spectral and spatial information.  Additionally, the Deep Learning classifier will check what wavelengths were used to train the deep learning model and it will subset spectrally a raster during classification to match them. For instance, if you train on 4-band data and you try to classify an 8 band raster, the classifier will automatically pick the best four bands for you that will match the wavelengths used during training.

Q: Once a model has been trained and I want to retrain it, is it better to simply retrain it on another image or to use both the first and retraining image as the training rasters?

A: Generally, while training, the model takes small steps to make the last "thing" it saw better.  If you only show it the new image, then it will start to learn the new image at the cost of some accuracy on the old image.  If you show it both, it will learn to be a little more general – but it already has a head start on the old image.  Some people even say you should start with a new model and use both images. The community is divided on what you should do. The only real answer is to try it and see how it works for you.   

Q: Can models be exported from ENVI Deep Learning for use in TensorFlow or other open source deep learning software?

A: Yes, models can be exported (they are in HDF5 format). However, ENVI Deep Learning models use ENVI’s data management capabilities to handle the TensorFlow requirement that rasters must be in byte format. So, models exported from ENVI Deep Learning will likely be difficult to translate for use in other software. 

Q: Does ENVI Deep Learning work with ArcGIS® software?

A: Currently, a “TensorFlow Mask Classification” tool is available for use in ArcMap or ArcGIS Pro, if you install ENVI Py for ArcGIS version 1.3 on top of ENVI 5.5.2. More tools will be added to ArcGIS in future releases of ENVI Py and ENVI Deep Learning. For more information about ENVI Py for ArcGIS, see the help article How do I use ENVI Tools in ArcGIS?

 

 

 

Created 4/18/2019 - mm; revised 05/24/21 - jw

Revised 1/5/2022 - jw

Revised 12/5/2022 - mm