Deep Learning Model To Ecd (Spatial Analyst)

Available with Spatial Analyst license.

Summary

Converts a deep learning model to an Esri classifier definition file (.ecd).

Legacy:

This is a deprecated tool. This functionality has been replaced by the Export Training Data For Deep Learning tool that creates classification information for use in the deep learning model.

This tool adds missing class information to the model. Deep learning binary model files generated by Google TensorFlow, Microsoft CNTK, or similar applications are supported.

To utilize the deep learning .ecd file, the deep learning framework must be installed on your computer. The .ecd output file will only work as input to the Esri Python Classify or Detect adaptor function. The class information JSON file allows you to add useful information to the .ecd file not included in the deep learning binary model such as class names, class colors for rendering the classified output, and other standard information. See the JSON file example below for details.

Usage

  • The following is an example of a Input Esri Extra Info File:

    This is an example of an in_extra_info_json file.

    {  
       "ImportDeepLearningModelToEsriExtraInfo":0,
       "Version":1,
       "Classifier":"CNTK",
       "NumberRasterBands":4,
       "MiniBatchSize":16,
       "Classes":[  
          {  
             "Value":100,
             "Name":"Impervious",
             "Color":[204, 204, 204]
          },
          {  
             "Value":200,
             "Name":" Other (Pervious)",
             "Color":[56, 168, 0]
          }
       ]
    }

Parameters

LabelExplanationData Type
Input Deep Learning Model File

The binary model file generated by a deep learning package such as Google TensorFlow, Microsoft CNTK, or similar application.

File
Input Esri Extra Info File

The class information JSON file. See the JSON file example above.

File
Output Classifier Definition File

The .ecd file that can be used in the Classify function and Classify Raster tool.

The .ecd output file only works as input to the Esri Python Classify or Detect adaptor function.

File

DeepLearningModelToEcd(in_deep_learning_model, in_classification_info_json, out_classifier_definition)
NameExplanationData Type
in_deep_learning_model

The binary model file generated by a deep learning package such as Google TensorFlow, Microsoft CNTK, or similar application.

File
in_classification_info_json

The class information JSON file. See the JSON file example above.

File
out_classifier_definition

The .ecd file that can be used in the Classify function and Classify Raster tool.

The .ecd output file only works as input to the Esri Python Classify or Detect adaptor function.

File

Code sample

DeepLearningModelToEcd example 1 (Python window)

This example creates an .ecd file from deep learning.

from arcpy.sa import *

DeepLearningModelToEcd("c:/test/cntk.model", "c:/test/classInfo.json", 
                       "c:/test/deeplearningtoecd.ecd")
DeepLearningModelToEcd example 2 (stand-alone script)

This example creates an .edc file from deep learning.

# Import system modules and check out ArcGIS Spatial Analyst extension license
import arcpy
arcpy.CheckOutExtension("Spatial")
from arcpy.sa import *

# Set local variables
in_deep_learning_model = "c:/test/cntk.model"
in_classification_info_json = "c:/test/classInfo.json"
out_classifier_definition = "c:/test/deeplearningtoecd.ecd"

# Execute 
DeepLearningModelToEcd(in_deep_learning_model, in_classification_info_json, 
                      out_classifier_definition)

Environments

This tool does not use any geoprocessing environments.