Predictors — sagemaker 2.247.0 documentation (original) (raw)

Make real-time predictions against SageMaker endpoints with Python objects

class sagemaker.predictor.Predictor(endpoint_name, sagemaker_session=None, serializer=<sagemaker.base_serializers.IdentitySerializer object>, deserializer=<sagemaker.base_deserializers.BytesDeserializer object>, component_name=None, **kwargs)

Bases: PredictorBase

Make prediction requests to an Amazon SageMaker endpoint.

Initialize a Predictor.

Behavior for serialization of input data and deserialization of result data can be configured through initializer arguments. If not specified, a sequence of bytes is expected and the API sends it in the request body without modifications. In response, the API returns the sequence of bytes from the prediction result without any modifications.

Parameters:

predict(data, initial_args=None, target_model=None, target_variant=None, inference_id=None, custom_attributes=None, component_name=None)

Return the inference from the specified endpoint.

Parameters:

Returns:

Inference for the given input. If a deserializer was specified when creating

the Predictor, the result of the deserializer is returned. Otherwise the response returns the sequence of bytes as is.

Return type:

object

predict_stream(data, initial_args=None, target_variant=None, inference_id=None, custom_attributes=None, component_name=None, target_container_hostname=None, iterator=<class 'sagemaker.iterators.ByteIterator'>)

Return the inference from the specified endpoint.

Parameters:

Returns:

An iterator object which would allow iteration on EventStream response will be returned. The object would be instantiated from predict_stream method’s iterator parameter.

Return type:

object (BaseIterator)

update_endpoint(initial_instance_count=None, instance_type=None, accelerator_type=None, model_name=None, tags=None, kms_key=None, data_capture_config_dict=None, max_instance_count=None, min_instance_count=None, wait=True)

Update the existing endpoint with the provided attributes.

This creates a new EndpointConfig in the process. If initial_instance_count,instance_type, accelerator_type, or model_name is specified, then a new ProductionVariant configuration is created; values from the existing configuration are not preserved if any of those parameters are specified.

Parameters:

Raises:

delete_endpoint(delete_endpoint_config=True)

Delete the Amazon SageMaker endpoint backing this predictor.

This also delete the endpoint configuration attached to it if delete_endpoint_config is True.

Parameters:

delete_endpoint_config (bool, optional) – Flag to indicate whether to delete endpoint configuration together with endpoint. Defaults to True. If True, both endpoint and endpoint configuration will be deleted. If False, only endpoint will be deleted.

delete_predictor(wait=False)

Delete the Amazon SageMaker inference component or endpoint backing this predictor.

Delete the corresponding inference component if the endpoint is a inference component based endpoint. Otherwise delete the endpoint where this predictor is hosted.

Parameters:

wait (bool) –

Return type:

None

update_predictor(model_name=None, image_uri=None, model_data=None, env=None, model_data_download_timeout=None, container_startup_health_check_timeout=None, resources=None)

Updates the predictor.

You can deploy a new Model specification or apply new configurations. The SDK applies your updates by updating the inference component that’s associated with the model.

Parameters:

List the deployed models co-located with this predictor.

Calls SageMaker:ListInferenceComponents on the endpoint associated with

the predictor.

Parameters:

Returns:

A list of Amazon SageMaker inference

component objects associated with the endpoint. If a next token is returned, there are more results available. The value of the next token is a unique pagination token.

Return type:

Tuple[List[Dict[str, Any]], Optional[str]]

delete_model()

Delete the Amazon SageMaker model backing this predictor.

enable_data_capture()

Enables data capture by updating DataCaptureConfig.

This function updates the DataCaptureConfig for the Predictor’s associated Amazon SageMaker Endpoint to enable data capture. For a more customized experience, refer to update_data_capture_config, instead.

disable_data_capture()

Disables data capture by updating DataCaptureConfig.

This function updates the DataCaptureConfig for the Predictor’s associated Amazon SageMaker Endpoint to disable data capture. For a more customized experience, refer to update_data_capture_config, instead.

update_data_capture_config(data_capture_config)

Updates the DataCaptureConfig for the Predictor’s associated Amazon SageMaker Endpoint.

Update is done using the provided DataCaptureConfig.

Parameters:

data_capture_config (sagemaker.model_monitor.DataCaptureConfig) – The DataCaptureConfig to update the predictor’s endpoint to use.

list_monitors()

Generates ModelMonitor objects (or DefaultModelMonitors).

Objects are generated based on the schedule(s) associated with the endpoint that this predictor refers to.

Returns:

A list of

ModelMonitor (or DefaultModelMonitor) objects.

Return type:

[sagemaker.model_monitor.model_monitoring.ModelMonitor]

endpoint_context()

Retrieves the lineage context object representing the endpoint.

Examples

predictor = Predictor() … context = predictor.endpoint_context() models = context.models()

Returns:

The context for the endpoint.

Return type:

ContextEndpoint

property content_type

The MIME type of the data sent to the inference endpoint.

property accept

The content type(s) that are expected from the inference endpoint.

property endpoint

Deprecated attribute. Please use endpoint_name.