AWS::SageMaker::EndpointConfig ClarifyInferenceConfig
The inference configuration parameter for the model container.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "ContentTemplate" :
String
, "FeatureHeaders" :[ String, ... ]
, "FeaturesAttribute" :String
, "FeatureTypes" :[ String, ... ]
, "LabelAttribute" :String
, "LabelHeaders" :[ String, ... ]
, "LabelIndex" :Integer
, "MaxPayloadInMB" :Integer
, "MaxRecordCount" :Integer
, "ProbabilityAttribute" :String
, "ProbabilityIndex" :Integer
}
YAML
ContentTemplate:
String
FeatureHeaders:- String
FeaturesAttribute:String
FeatureTypes:- String
LabelAttribute:String
LabelHeaders:- String
LabelIndex:Integer
MaxPayloadInMB:Integer
MaxRecordCount:Integer
ProbabilityAttribute:String
ProbabilityIndex:Integer
Properties
ContentTemplate
-
A template string used to format a JSON record into an acceptable model container input. For example, a
ContentTemplate
string'{"myfeatures":$features}'
will format a list of features[1,2,3]
into the record string'{"myfeatures":[1,2,3]}'
. Required only when the model container input is in JSON Lines format.Required: No
Type: String
Pattern:
.*
Minimum:
1
Maximum:
64
Update requires: Replacement
FeatureHeaders
-
The names of the features. If provided, these are included in the endpoint response payload to help readability of the
InvokeEndpoint
output. See the Response section under Invoke the endpoint in the Developer Guide for more information.Required: No
Type: Array of String
Minimum:
1
Maximum:
256
Update requires: Replacement
FeaturesAttribute
-
Provides the JMESPath expression to extract the features from a model container input in JSON Lines format. For example, if
FeaturesAttribute
is the JMESPath expression'myfeatures'
, it extracts a list of features[1,2,3]
from request data'{"myfeatures":[1,2,3]}'
.Required: No
Type: String
Pattern:
.*
Minimum:
1
Maximum:
64
Update requires: Replacement
FeatureTypes
-
A list of data types of the features (optional). Applicable only to NLP explainability. If provided,
FeatureTypes
must have at least one'text'
string (for example,['text']
). IfFeatureTypes
is not provided, the explainer infers the feature types based on the baseline data. The feature types are included in the endpoint response payload. For additional information see the response section under Invoke the endpoint in the Developer Guide for more information.Required: No
Type: Array of String
Minimum:
1
Maximum:
256
Update requires: Replacement
LabelAttribute
-
A JMESPath expression used to locate the list of label headers in the model container output.
Example: If the model container output of a batch request is
'{"labels":["cat","dog","fish"],"probability":[0.6,0.3,0.1]}'
, then setLabelAttribute
to'labels'
to extract the list of label headers["cat","dog","fish"]
Required: No
Type: String
Pattern:
.*
Minimum:
1
Maximum:
64
Update requires: Replacement
LabelHeaders
-
For multiclass classification problems, the label headers are the names of the classes. Otherwise, the label header is the name of the predicted label. These are used to help readability for the output of the
InvokeEndpoint
API. See the response section under Invoke the endpoint in the Developer Guide for more information. If there are no label headers in the model container output, provide them manually using this parameter.Required: No
Type: Array of String
Minimum:
1
Maximum:
16
Update requires: Replacement
LabelIndex
-
A zero-based index used to extract a label header or list of label headers from model container output in CSV format.
Example for a multiclass model: If the model container output consists of label headers followed by probabilities:
'"[\'cat\',\'dog\',\'fish\']","[0.1,0.6,0.3]"'
, setLabelIndex
to0
to select the label headers['cat','dog','fish']
.Required: No
Type: Integer
Minimum:
0
Update requires: Replacement
MaxPayloadInMB
-
The maximum payload size (MB) allowed of a request from the explainer to the model container. Defaults to
6
MB.Required: No
Type: Integer
Minimum:
1
Maximum:
25
Update requires: Replacement
MaxRecordCount
-
The maximum number of records in a request that the model container can process when querying the model container for the predictions of a synthetic dataset. A record is a unit of input data that inference can be made on, for example, a single line in CSV data. If
MaxRecordCount
is1
, the model container expects one record per request. A value of 2 or greater means that the model expects batch requests, which can reduce overhead and speed up the inferencing process. If this parameter is not provided, the explainer will tune the record count per request according to the model container's capacity at runtime.Required: No
Type: Integer
Minimum:
1
Update requires: Replacement
ProbabilityAttribute
-
A JMESPath expression used to extract the probability (or score) from the model container output if the model container is in JSON Lines format.
Example: If the model container output of a single request is
'{"predicted_label":1,"probability":0.6}'
, then setProbabilityAttribute
to'probability'
.Required: No
Type: String
Pattern:
.*
Minimum:
1
Maximum:
64
Update requires: Replacement
ProbabilityIndex
-
A zero-based index used to extract a probability value (score) or list from model container output in CSV format. If this value is not provided, the entire model container output will be treated as a probability value (score) or list.
Example for a single class model: If the model container output consists of a string-formatted prediction label followed by its probability:
'1,0.6'
, setProbabilityIndex
to1
to select the probability value0.6
.Example for a multiclass model: If the model container output consists of a string-formatted prediction label followed by its probability:
'"[\'cat\',\'dog\',\'fish\']","[0.1,0.6,0.3]"'
, setProbabilityIndex
to1
to select the probability values[0.1,0.6,0.3]
.Required: No
Type: Integer
Minimum:
0
Update requires: Replacement