This topic describes how to set preferences for ENVI Deep Learning.

  1. From the ENVI main menu bar, select File > Preferences. The Preferences dialog appears.
  2. Select Deep Learning in the Settings tree.
  3. Update the preferences in the table below as needed.

To revert to your previously saved changes, click Restore Defaults.

You can also write a script to edit your preferences, using the ENVIPreferences and ENVIPreferenceItem objects in ENVI. The API Name column in the table below refers to the preference name in ENVIPreferenceItem.



API Name

deep learning

GPU Identifier

ENVI Deep Learning tasks execute on a single GPU. This preference setting represents a list of GPUs that the current ENVI session is allowed to choose from when performing tasks that use TensorFlow (TrainTensorFlowPixelModel, TensorFlowPixelClassification, TensorFlowOptimizedObjectClassification Task, TensorFlowOptimizedPixelClassification Task). GPU identifiers are integers starting at 0. They are separated by commas; a range can be specified with a colon, e.g., 0, 2:4, 6. When a task using TensorFlow is called, the first available GPU in the list is reserved for the task and blocks other ENVI sessions from using the GPU until the task completes. It does not prevent non-ENVI processes from using the GPU. The default is a blank list, which on a machine without a compatible GPU does not attempt to use a GPU and on a machine with a compatible GPU uses GPU 0.

Enter a value of -1 to use the system's CPU instead of the GPU for ENVI Deep Learning. Note that this still requires an NVIDIA GPU with a driver version of 410.x or higher.

gpu identifiers*

GPU Timeout

The length of time, in seconds, that a task using TensorFlow attempts to reserve a GPU before aborting. The default is -1, which is no timeout, so the task will wait until a GPU is available.

gpu timeout

TensorBoard Server Port

The port number used to access TensorBoard. The default value is 6006 so that the URL will be http://localhost:6006.

tensorboard server port

* Specify values as strings in the ENVI API.

These two options are also available as system environment variables. They are not set by default; you can set your own values. If both an environment variable and preference are set, the environment variable will take precedence.


The following instructions describe how to access the environment variables on Windows systems:

  1. Click the Start menu.
  2. In the Search window, type environment.
  3. Click Edit environment variables for your account. The System Properties dialog appears with the Advanced tab active.
  4. Click the Environment Variables button.
  5. In the User Variables section, click the New button.
  6. In the Variable name field, enter ENVI_DEEP_LEARNING_GPU_ID or ENVI_DEEP_LEARNING_GPU_TIMEOUT.
  7. In the Variable value field, enter the GPU identifier or timeout value.
  8. Click OK in the Environment Variables dialog.