RandomizeTrainTensorFlowMaskModel Task

This task generates a number of randomized sets of parameter values to train a mask-based TensorFlow model.

This task is part of ENVI Deep Learning, which requires a separate license and installation.

Example

; Start the application

e = ENVI(/HEADLESS)

 

; Get the task from the catalog of ENVITasks

RandomizeModelTask = ENVITask('RandomizeTrainTensorFlowMaskModel')

 

; Define task inputs

RandomizeModelTask.ITERATIONS = 5

 

; Run the task

RandomizeModelTask.Execute

 

; Print the output values for each iteration

Print, 'Blur Distance: ', RandomizeModelTask.OUTPUT_BLUR_DISTANCE

Print, 'Class Weight: ', RandomizeModelTask.OUTPUT_CLASS_WEIGHT

Print, 'Loss Weight: ', RandomizeModelTask.OUTPUT_LOSS_WEIGHT

Print, 'Solid Distance: ', RandomizeModelTask.OUTPUT_SOLID_DISTANCE

Syntax

Result = ENVITask('RandomizeTrainTensorFlowMaskModel')

Input properties (Set, Get): BLUR_DISTANCE, CLASS_WEIGHT, ITERATION, LOSS_WEIGHT, METHOD, SOLID_DISTANCE

Output properties (Get only): OUTPUT_BLUR_DISTANCE, OUTPUT_CLASS_WEIGHT, OUTPUT_LOSS_WEIGHT, OUTPUT_SOLID_DISTANCE

Properties marked as "Set" are those that you can set to specific values. You can also retrieve their current values any time. Properties marked as "Get" are those whose values you can retrieve but not set.

Methods

This task inherits the following methods from ENVITask. See the ENVITask topic in ENVI Help.

Properties

This task inherits the following properties from ENVITask:

COMMUTE_ON_DOWNSAMPLE

COMMUTE_ON_SUBSET

DESCRIPTION

DISPLAY_NAME

NAME

REVISION

See the ENVITask topic in ENVI Help for details.

This task also contains the following properties:

BLUR_DISTANCE (optional)

Specify a double-precision array with the minimum and maximum distance in pixels to expand positive (non-background) areas beyond the solid distance expansion. The area expanded is blurred, diminishing from the edges of the feature areas to the blur distance. The maximum blur distance is used at the beginning of training and decreased to the minimum blur distance at the end of training. If this value is not set, OUTPUT_BLUR_DISTANCE will be a random value within normal range.

CLASS_WEIGHT (optional)

Specify a double-precision array with the minimum and maximum weights for having a more even balance of classes (including background) during patch selection. Balancing of patch selection is weighted by the maximum value at the beginning of training and decreased to the minimum value at the end of training. In general, set the maximum higher for sparser training sets. The useful range for the maximum value is between 0.0 and 3.0. If this value is not set, OUTPUT_CLASS_WEIGHT will be a random value within normal range.

ITERATION (optional)

Specify the number of sets of parameter values to generate.

LOSS_WEIGHT (optional)

Specify the weight of positive (non-background) pixels when calculating how well the model is fitting the training data. If this value is not set, OUTPUT_LOSS_WEIGHT will be a random value within normal range.

METHOD (required)

Specify a string indicating the method used to randomize the values. The choices are:

OUTPUT_BLUR_DISTANCE

A double-precision array with the minimum and maximum distance in pixels to expand positive (non-background) areas beyond the solid distance expansion.

OUTPUT_CLASS_WEIGHT

The double-precision array with the minimum and maximum weights for having a more even balance of classes (including background) when sampling.

OUTPUT_LOSS_WEIGHT

The weight of positive (non-background) pixels when calculating how well the model is fitting the training data.

OUTPUT_SOLID_DISTANCE

The distance in pixels to expand positive (non-background) areas.

SOLID_DISTANCE (optional)

Specify the distance in pixels to expand positive (non-background) areas. If this value is not set, OUTPUT_SOLID_DISTANCE will be a random value within normal range.

Version History

Deep Learning 1.0

Introduced

Deep Learning 1.1

Removed EPOCHS, OUTPUT_EPOCHS, PATCHES_PER_EPOCH, and OUTPUT_PATCHES_PER_EPOCH properties. This is a breaking change to the task since version 1.0.

See Also

ENVITensorFlowModel, TrainTensorFlowMaskModel Task