sagemaker 2.254.2.dev0__tar.gz → 2.256.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/PKG-INFO +1 -1
- sagemaker-2.256.0/VERSION +1 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/requirements/extras/test_requirements.txt +1 -1
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/estimator.py +1 -1
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/experiment.py +1 -1
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_config_uploader.py +0 -3
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/xgboost.json +84 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/iterators.py +11 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/estimator.py +3 -3
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/model.py +2 -2
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/local/data.py +10 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/local/local_session.py +7 -7
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/local/utils.py +1 -4
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/configs.py +2 -1
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/model_trainer.py +1 -1
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/processing.py +1 -1
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/client.py +1 -7
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/core/pipeline_variables.py +0 -6
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/core/serialization.py +15 -34
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/core/stored_function.py +0 -11
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/errors.py +1 -3
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/invoke_function.py +1 -9
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/job.py +2 -21
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/triton/model.py +0 -5
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/telemetry/constants.py +7 -8
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/telemetry/telemetry_logging.py +12 -13
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/utils.py +114 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/pipeline.py +2 -3
- sagemaker-2.254.2.dev0/VERSION +0 -1
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/.gitignore +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/LICENSE.txt +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/NOTICE.txt +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/README.rst +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/hatch_build.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/pyproject.toml +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/requirements/extras/feature-processor_requirements.txt +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/requirements/extras/huggingface_requirements.txt +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/requirements/extras/local_requirements.txt +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/requirements/extras/sagemaker-mlflow_requirements.txt +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/requirements/extras/scipy_requirements.txt +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/_studio.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/accept_types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/algorithm.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/README.rst +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/amazon_estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/common.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/factorization_machines.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/hyperparameter.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/ipinsights.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/kmeans.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/knn.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/lda.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/linear_learner.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/ntm.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/object2vec.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/pca.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/randomcutforest.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/record.proto +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/record_pb2.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amazon/validation.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amtviz/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amtviz/job_metrics.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/amtviz/visualization.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/analytics.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/apiutils/.pydocstylerc +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/apiutils/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/apiutils/_base_types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/apiutils/_boto_functions.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/apiutils/_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/async_inference/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/async_inference/async_inference_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/async_inference/async_inference_response.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/async_inference/waiter_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/automl/README.rst +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/automl/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/automl/automl.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/automl/automlv2.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/automl/candidate_estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/aws_batch/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/aws_batch/batch_api_helper.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/aws_batch/boto_client.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/aws_batch/constants.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/aws_batch/exception.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/aws_batch/training_queue.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/aws_batch/training_queued_job.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/base_deserializers.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/base_predictor.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/base_serializers.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/batch_inference/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/batch_inference/batch_transform_inference_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/chainer/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/chainer/defaults.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/chainer/estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/chainer/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/clarify.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/ast_transformer.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/files.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/airflow.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/deprecated_params.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/framework_version.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/image_uris.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/matching.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/modifier.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/parsing.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/predictors.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/renamed_params.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/serde.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/tf_legacy_mode.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/tfs.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/training_input.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/modifiers/training_params.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/compatibility/v2/sagemaker_upgrade_v2.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/cli/framework_upgrade.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/collection.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/compute_resource_requirements/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/compute_resource_requirements/resource_requirements.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/config/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/config/config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/config/config_schema.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/config/config_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/container_base_model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/content_types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/dataset_definition/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/dataset_definition/inputs.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/debugger/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/debugger/debugger.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/debugger/framework_profile.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/debugger/metrics_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/debugger/profiler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/debugger/profiler_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/debugger/profiler_constants.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/debugger/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/deprecations.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/deserializers.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/djl_inference/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/djl_inference/djl_predictor.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/djl_inference/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/drift_check_baselines.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/enums.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/environment_variables.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/exceptions.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/_api_types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/_environment.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/_helper.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/_metrics.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/_run_context.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/run.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/trial.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/experiments/trial_component.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/explainer/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/explainer/clarify_explainer_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/explainer/explainer_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/dataset_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_definition.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_group.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_constants.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_data_source.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_enums.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_env.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_event_bridge_rule_helper.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_event_bridge_scheduler_helper.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_exceptions.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_factory.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_feature_processor_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_feature_processor_pipeline_events.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_input_loader.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_input_offset_parser.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_params_loader.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_spark_factory.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_udf_arg_provider.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_udf_output_receiver.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_udf_wrapper.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/_validation.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/feature_processor.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/feature_scheduler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_feature_group_contexts.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_feature_group_lineage_entity_handler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_feature_processor_lineage.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_feature_processor_lineage_name_helper.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_lineage_association_handler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_lineage_entity_handler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_schedule.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_trigger.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_version_lineage_entity_handler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_s3_lineage_entity_handler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/_transformation_code.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_processor/lineage/constants.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_store.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/feature_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/feature_store/inputs.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/fw_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/git_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/huggingface/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/huggingface/estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/huggingface/llm_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/huggingface/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/huggingface/processing.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/huggingface/training_compiler/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/huggingface/training_compiler/config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/hyperparameters.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/autogluon.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/blazingtext.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/chainer.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/clarify.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/coach-mxnet.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/coach-tensorflow.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/data-wrangler.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/debugger.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/detailed-profiler.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/djl-deepspeed.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/djl-fastertransformer.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/djl-lmi.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/djl-neuronx.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/djl-tensorrtllm.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/factorization-machines.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/forecasting-deepar.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/huggingface-llm-neuronx.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/huggingface-llm.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/huggingface-neuron.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/huggingface-neuronx.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/huggingface-tei-cpu.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/huggingface-tei.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/huggingface-training-compiler.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/huggingface-vllm-neuronx.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/huggingface.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/hyperpod-recipes-neuron.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/image-classification-neo.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/image-classification.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/inferentia-mxnet.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/inferentia-pytorch.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/inferentia-tensorflow.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/instance_gpu_info.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/ipinsights.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/kmeans.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/knn.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/lda.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/linear-learner.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/model-monitor.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/mxnet.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/neo-mxnet.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/neo-pytorch.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/neo-tensorflow.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/ntm.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/object-detection.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/object2vec.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/pca.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/pytorch-neuron.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/pytorch-smp.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/pytorch-training-compiler.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/pytorch.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/randomcutforest.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/ray-pytorch.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/ray-tensorflow.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/sagemaker-base-python.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/sagemaker-distribution.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/sagemaker-geospatial.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/sagemaker-tritonserver.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/semantic-segmentation.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/seq2seq.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/sklearn.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/spark.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/sparkml-serving.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/stabilityai.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/tensorflow.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/vw.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uri_config/xgboost-neo.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/image_uris.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/inference_recommender/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/inference_recommender/inference_recommender_mixin.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/inputs.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/instance_group.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/instance_types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/instance_types_gpu_info.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/interactive_apps/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/interactive_apps/base_interactive_app.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/interactive_apps/detail_profiler_app.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/interactive_apps/tensorboard.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/job.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/accessors.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/environment_variables.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/hyperparameters.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/image_uris.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/incremental_training.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/instance_types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/kwargs.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/metric_definitions.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/model_packages.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/model_uris.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/payloads.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/predictors.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/resource_names.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/resource_requirements.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/artifacts/script_uris.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/cache.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/constants.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/enums.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/exceptions.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/factory/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/factory/estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/factory/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/factory/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/filters.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/hub/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/hub/constants.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/hub/hub.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/hub/interfaces.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/hub/parser_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/hub/parsers.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/hub/types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/hub/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/notebook_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/parameters.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/payload_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/region_config.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/session_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/jumpstart/validators.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lambda_helper.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/.pydocstylerc +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/_api_types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/action.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/artifact.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/association.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/context.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/lineage_trial_component.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/query.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/lineage/visualizer.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/local/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/local/entities.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/local/exceptions.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/local/image.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/local/pipeline.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/logs.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/metadata_properties.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/metric_definitions.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/mlflow/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/mlflow/forward_sagemaker_metrics.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/mlflow/tracking_server.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_card/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_card/evaluation_metric_parsers.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_card/helpers.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_card/model_card.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_card/schema_constraints.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_life_cycle.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_metrics.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_monitor/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_monitor/clarify_model_monitoring.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_monitor/cron_expression_generator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_monitor/data_capture_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_monitor/data_quality_monitoring_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_monitor/dataset_format.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_monitor/model_monitoring.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_monitor/monitoring_alert.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_monitor/monitoring_files.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/model_uris.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/constants.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/distributed.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/local_core/local_container.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/templates.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/container_drivers/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/container_drivers/common/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/container_drivers/common/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/container_drivers/distributed_drivers/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/container_drivers/distributed_drivers/basic_script_driver.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/container_drivers/distributed_drivers/mpi_driver.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/container_drivers/distributed_drivers/mpi_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/container_drivers/distributed_drivers/torchrun_driver.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/container_drivers/scripts/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/container_drivers/scripts/environment.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/sm_recipes/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/sm_recipes/training_recipes.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/train/sm_recipes/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/modules/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/multidatamodel.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/mxnet/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/mxnet/defaults.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/mxnet/estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/mxnet/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/mxnet/processing.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/network.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/parameter.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/partner_app/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/partner_app/auth_provider.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/partner_app/auth_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/payloads.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/pipeline.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/predictor.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/predictor_async.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/py.typed +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/pytorch/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/pytorch/defaults.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/pytorch/estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/pytorch/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/pytorch/processing.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/pytorch/training_compiler/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/pytorch/training_compiler/config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/pytorch/training_recipes.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/checkpoint_location.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/core/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/core/_custom_dispatch_table.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/custom_file_filter.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/logging_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/runtime_environment/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/runtime_environment/bootstrap_runtime_environment.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/runtime_environment/mpi_utils_remote.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/runtime_environment/runtime_environment_manager.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/runtime_environment/spark_app.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/spark_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/resource_requirements.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/rl/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/rl/estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/s3.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/s3_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/script_uris.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serializer_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serializers.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/djl_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/jumpstart_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/model_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/requirements_manager.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/schema_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/serve_settings.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/tei_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/tf_serving_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/tgi_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/transformers_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/builder/triton_schema_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/detector/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/detector/dependency_manager.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/detector/image_detector.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/detector/pickle_dependencies.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/detector/pickler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/marshalling/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/marshalling/custom_payload_translator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/marshalling/triton_translator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/mode/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/mode/function_pointers.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/mode/in_process_mode.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/mode/local_container_mode.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/mode/sagemaker_endpoint_mode.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_format/mlflow/constants.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_format/mlflow/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/djl_serving/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/djl_serving/prepare.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/djl_serving/server.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/djl_serving/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/in_process_model_server/app.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/in_process_model_server/in_process_server.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/multi_model_server/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/multi_model_server/inference.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/multi_model_server/prepare.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/multi_model_server/server.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/smd/custom_execution_inference.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/smd/prepare.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/smd/server.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/tei/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/tei/server.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/tensorflow_serving/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/tensorflow_serving/inference.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/tensorflow_serving/prepare.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/tensorflow_serving/server.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/tgi/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/tgi/prepare.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/tgi/server.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/tgi/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/torchserve/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/torchserve/inference.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/torchserve/prepare.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/torchserve/server.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/torchserve/xgboost_inference.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/triton/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/triton/config_template.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/triton/pack_conda_env.sh +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/triton/server.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/model_server/triton/triton_builder.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/version_1_0_0/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/version_1_0_0/metadata/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/version_1_0_0/metadata/metadata.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/version_1_0_0/save/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/version_1_0_0/save/framework/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/version_1_0_0/save/framework/framework_handler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/version_1_0_0/save/framework/pytorch_handler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/version_1_0_0/save/framework/xgboost_handler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/version_1_0_0/save/save_handler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/save_retrive/version_1_0_0/save/utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/schema/task.json +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/spec/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/spec/inference_base.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/spec/inference_spec.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/conda_in_process.yml +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/exceptions.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/hardware_detector.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/hf_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/in_process_requirements.txt +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/lineage_constants.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/lineage_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/local_hardware.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/logging_agent.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/optimize_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/predictors.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/task.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/telemetry_logger.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/tuning.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/types.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/utils/uploader.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/validations/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/validations/check_image_and_hardware_type.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/validations/check_image_uri.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/validations/check_integrity.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/validations/optimization.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serve/validations/parse_registry_accounts.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serverless/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serverless/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serverless/predictor.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/serverless/serverless_inference_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/session.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/session_settings.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/sklearn/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/sklearn/defaults.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/sklearn/estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/sklearn/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/sklearn/processing.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/spark/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/spark/defaults.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/spark/processing.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/sparkml/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/sparkml/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/stabilityai/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/stabilityai/stability_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/telemetry/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/tensorflow/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/tensorflow/defaults.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/tensorflow/estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/tensorflow/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/tensorflow/processing.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/tensorflow/serving.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/tensorflow/training_compiler/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/tensorflow/training_compiler/config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/training_compiler/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/training_compiler/config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/transformer.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/tuner.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/user_agent.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/utilities/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/utilities/cache.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/utilities/search_expression.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/vpc_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/_event_bridge_client_helper.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/_repack_model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/_steps_compiler.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/_utils.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/airflow.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/automl_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/callback_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/check_job_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/clarify_check_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/condition_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/conditions.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/emr_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/entities.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/execution_variables.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/fail_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/function_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/functions.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/lambda_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/model_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/monitor_batch_transform_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/notebook_job_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/parallelism_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/parameters.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/pipeline_context.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/pipeline_definition_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/pipeline_experiment_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/properties.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/quality_check_step.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/retry.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/selective_execution_config.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/step_collections.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/step_outputs.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/steps.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/triggers.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/workflow/utilities.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/wrangler/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/wrangler/ingestion.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/wrangler/processing.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/xgboost/README.rst +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/xgboost/__init__.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/xgboost/defaults.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/xgboost/estimator.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/xgboost/model.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/xgboost/processing.py +0 -0
- {sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/xgboost/utils.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.256.0
|
|
@@ -1350,7 +1350,7 @@ class EstimatorBase(with_metaclass(ABCMeta, object)): # pylint: disable=too-man
|
|
|
1350
1350
|
)
|
|
1351
1351
|
return None
|
|
1352
1352
|
|
|
1353
|
-
@_telemetry_emitter(feature=Feature.
|
|
1353
|
+
@_telemetry_emitter(feature=Feature.ESTIMATOR_V2, func_name="estimator.fit")
|
|
1354
1354
|
@runnable_by_pipeline
|
|
1355
1355
|
def fit(
|
|
1356
1356
|
self,
|
|
@@ -95,7 +95,7 @@ class Experiment(_base_types.Record):
|
|
|
95
95
|
)
|
|
96
96
|
|
|
97
97
|
@classmethod
|
|
98
|
-
@_telemetry_emitter(feature=Feature.
|
|
98
|
+
@_telemetry_emitter(feature=Feature.MLOPS_V2, func_name="experiment.create")
|
|
99
99
|
def create(
|
|
100
100
|
cls,
|
|
101
101
|
experiment_name,
|
|
@@ -120,9 +120,6 @@ class ConfigUploader:
|
|
|
120
120
|
stored_function = StoredFunction(
|
|
121
121
|
sagemaker_session=sagemaker_session,
|
|
122
122
|
s3_base_uri=s3_base_uri,
|
|
123
|
-
hmac_key=self.remote_decorator_config.environment_variables[
|
|
124
|
-
"REMOTE_FUNCTION_SECRET_KEY"
|
|
125
|
-
],
|
|
126
123
|
s3_kms_key=self.remote_decorator_config.s3_kms_key,
|
|
127
124
|
)
|
|
128
125
|
stored_function.save(func)
|
|
@@ -395,6 +395,48 @@
|
|
|
395
395
|
"us-west-2": "246618743249"
|
|
396
396
|
},
|
|
397
397
|
"repository": "sagemaker-xgboost"
|
|
398
|
+
},
|
|
399
|
+
"3.0-5": {
|
|
400
|
+
"registries": {
|
|
401
|
+
"af-south-1": "510948584623",
|
|
402
|
+
"ap-east-1": "651117190479",
|
|
403
|
+
"ap-northeast-1": "354813040037",
|
|
404
|
+
"ap-northeast-2": "366743142698",
|
|
405
|
+
"ap-northeast-3": "867004704886",
|
|
406
|
+
"ap-south-1": "720646828776",
|
|
407
|
+
"ap-south-2": "628508329040",
|
|
408
|
+
"ap-southeast-1": "121021644041",
|
|
409
|
+
"ap-southeast-2": "783357654285",
|
|
410
|
+
"ap-southeast-3": "951798379941",
|
|
411
|
+
"ap-southeast-4": "106583098589",
|
|
412
|
+
"ca-central-1": "341280168497",
|
|
413
|
+
"ca-west-1": "190319476487",
|
|
414
|
+
"cn-north-1": "450853457545",
|
|
415
|
+
"cn-northwest-1": "451049120500",
|
|
416
|
+
"eu-central-1": "492215442770",
|
|
417
|
+
"eu-central-2": "680994064768",
|
|
418
|
+
"eu-north-1": "662702820516",
|
|
419
|
+
"eu-south-1": "978288397137",
|
|
420
|
+
"eu-south-2": "104374241257",
|
|
421
|
+
"eu-west-1": "141502667606",
|
|
422
|
+
"eu-west-2": "764974769150",
|
|
423
|
+
"eu-west-3": "659782779980",
|
|
424
|
+
"il-central-1": "898809789911",
|
|
425
|
+
"me-central-1": "272398656194",
|
|
426
|
+
"me-south-1": "801668240914",
|
|
427
|
+
"sa-east-1": "737474898029",
|
|
428
|
+
"us-east-1": "683313688378",
|
|
429
|
+
"us-east-2": "257758044811",
|
|
430
|
+
"us-gov-east-1": "237065988967",
|
|
431
|
+
"us-gov-west-1": "414596584902",
|
|
432
|
+
"us-iso-east-1": "833128469047",
|
|
433
|
+
"us-isob-east-1": "281123927165",
|
|
434
|
+
"us-isof-east-1": "108575199400",
|
|
435
|
+
"us-isof-south-1": "124985052026",
|
|
436
|
+
"us-west-1": "746614075791",
|
|
437
|
+
"us-west-2": "246618743249"
|
|
438
|
+
},
|
|
439
|
+
"repository": "sagemaker-xgboost"
|
|
398
440
|
}
|
|
399
441
|
}
|
|
400
442
|
},
|
|
@@ -794,6 +836,48 @@
|
|
|
794
836
|
"us-west-2": "246618743249"
|
|
795
837
|
},
|
|
796
838
|
"repository": "sagemaker-xgboost"
|
|
839
|
+
},
|
|
840
|
+
"3.0-5": {
|
|
841
|
+
"registries": {
|
|
842
|
+
"af-south-1": "510948584623",
|
|
843
|
+
"ap-east-1": "651117190479",
|
|
844
|
+
"ap-northeast-1": "354813040037",
|
|
845
|
+
"ap-northeast-2": "366743142698",
|
|
846
|
+
"ap-northeast-3": "867004704886",
|
|
847
|
+
"ap-south-1": "720646828776",
|
|
848
|
+
"ap-south-2": "628508329040",
|
|
849
|
+
"ap-southeast-1": "121021644041",
|
|
850
|
+
"ap-southeast-2": "783357654285",
|
|
851
|
+
"ap-southeast-3": "951798379941",
|
|
852
|
+
"ap-southeast-4": "106583098589",
|
|
853
|
+
"ca-central-1": "341280168497",
|
|
854
|
+
"ca-west-1": "190319476487",
|
|
855
|
+
"cn-north-1": "450853457545",
|
|
856
|
+
"cn-northwest-1": "451049120500",
|
|
857
|
+
"eu-central-1": "492215442770",
|
|
858
|
+
"eu-central-2": "680994064768",
|
|
859
|
+
"eu-north-1": "662702820516",
|
|
860
|
+
"eu-south-1": "978288397137",
|
|
861
|
+
"eu-south-2": "104374241257",
|
|
862
|
+
"eu-west-1": "141502667606",
|
|
863
|
+
"eu-west-2": "764974769150",
|
|
864
|
+
"eu-west-3": "659782779980",
|
|
865
|
+
"il-central-1": "898809789911",
|
|
866
|
+
"me-central-1": "272398656194",
|
|
867
|
+
"me-south-1": "801668240914",
|
|
868
|
+
"sa-east-1": "737474898029",
|
|
869
|
+
"us-east-1": "683313688378",
|
|
870
|
+
"us-east-2": "257758044811",
|
|
871
|
+
"us-gov-east-1": "237065988967",
|
|
872
|
+
"us-gov-west-1": "414596584902",
|
|
873
|
+
"us-iso-east-1": "833128469047",
|
|
874
|
+
"us-isob-east-1": "281123927165",
|
|
875
|
+
"us-isof-east-1": "108575199400",
|
|
876
|
+
"us-isof-south-1": "124985052026",
|
|
877
|
+
"us-west-1": "746614075791",
|
|
878
|
+
"us-west-2": "246618743249"
|
|
879
|
+
},
|
|
880
|
+
"repository": "sagemaker-xgboost"
|
|
797
881
|
}
|
|
798
882
|
}
|
|
799
883
|
},
|
|
@@ -17,6 +17,7 @@ from abc import ABC, abstractmethod
|
|
|
17
17
|
import io
|
|
18
18
|
|
|
19
19
|
from sagemaker.exceptions import ModelStreamError, InternalStreamFailure
|
|
20
|
+
from sagemaker.utils import _MAX_BUFFER_SIZE
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
def handle_stream_errors(chunk):
|
|
@@ -182,5 +183,15 @@ class LineIterator(BaseIterator):
|
|
|
182
183
|
# print and move on to next response byte
|
|
183
184
|
print("Unknown event type:" + chunk)
|
|
184
185
|
continue
|
|
186
|
+
|
|
187
|
+
# Check buffer size before writing to prevent unbounded memory consumption
|
|
188
|
+
chunk_size = len(chunk["PayloadPart"]["Bytes"])
|
|
189
|
+
current_size = self.buffer.getbuffer().nbytes
|
|
190
|
+
if current_size + chunk_size > _MAX_BUFFER_SIZE:
|
|
191
|
+
raise RuntimeError(
|
|
192
|
+
f"Line buffer exceeded maximum size of {_MAX_BUFFER_SIZE} bytes. "
|
|
193
|
+
f"No newline found in stream."
|
|
194
|
+
)
|
|
195
|
+
|
|
185
196
|
self.buffer.seek(0, io.SEEK_END)
|
|
186
197
|
self.buffer.write(chunk["PayloadPart"]["Bytes"])
|
|
@@ -62,7 +62,7 @@ class JumpStartEstimator(Estimator):
|
|
|
62
62
|
This class sets defaults based on the model ID and version.
|
|
63
63
|
"""
|
|
64
64
|
|
|
65
|
-
@_telemetry_emitter(feature=Feature.
|
|
65
|
+
@_telemetry_emitter(feature=Feature.JUMPSTART_V2, func_name="jumpstart_estimator.create")
|
|
66
66
|
def __init__(
|
|
67
67
|
self,
|
|
68
68
|
model_id: Optional[str] = None,
|
|
@@ -649,7 +649,7 @@ class JumpStartEstimator(Estimator):
|
|
|
649
649
|
|
|
650
650
|
super(JumpStartEstimator, self).__init__(**estimator_init_kwargs.to_kwargs_dict())
|
|
651
651
|
|
|
652
|
-
@_telemetry_emitter(feature=Feature.
|
|
652
|
+
@_telemetry_emitter(feature=Feature.JUMPSTART_V2, func_name="jumpstart_estimator.fit")
|
|
653
653
|
def fit(
|
|
654
654
|
self,
|
|
655
655
|
inputs: Optional[Union[str, Dict, TrainingInput, FileSystemInput]] = None,
|
|
@@ -837,7 +837,7 @@ class JumpStartEstimator(Estimator):
|
|
|
837
837
|
additional_kwargs=additional_kwargs,
|
|
838
838
|
)
|
|
839
839
|
|
|
840
|
-
@_telemetry_emitter(feature=Feature.
|
|
840
|
+
@_telemetry_emitter(feature=Feature.JUMPSTART_V2, func_name="jumpstart_estimator.deploy")
|
|
841
841
|
def deploy(
|
|
842
842
|
self,
|
|
843
843
|
initial_instance_count: Optional[int] = None,
|
|
@@ -86,7 +86,7 @@ class JumpStartModel(Model):
|
|
|
86
86
|
This class sets defaults based on the model ID and version.
|
|
87
87
|
"""
|
|
88
88
|
|
|
89
|
-
@_telemetry_emitter(feature=Feature.
|
|
89
|
+
@_telemetry_emitter(feature=Feature.JUMPSTART_V2, func_name="jumpstart_model.create")
|
|
90
90
|
def __init__(
|
|
91
91
|
self,
|
|
92
92
|
model_id: Optional[str] = None,
|
|
@@ -643,7 +643,7 @@ class JumpStartModel(Model):
|
|
|
643
643
|
**kwargs,
|
|
644
644
|
)
|
|
645
645
|
|
|
646
|
-
@_telemetry_emitter(feature=Feature.
|
|
646
|
+
@_telemetry_emitter(feature=Feature.JUMPSTART_V2, func_name="jumpstart_model.deploy")
|
|
647
647
|
def deploy(
|
|
648
648
|
self,
|
|
649
649
|
initial_instance_count: Optional[int] = None,
|
|
@@ -26,6 +26,7 @@ from six.moves.urllib.parse import urlparse
|
|
|
26
26
|
import sagemaker.amazon.common
|
|
27
27
|
import sagemaker.local.utils
|
|
28
28
|
import sagemaker.utils
|
|
29
|
+
from sagemaker.utils import _SENSITIVE_SYSTEM_PATHS
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
def get_data_source_instance(data_source, sagemaker_session):
|
|
@@ -122,6 +123,15 @@ class LocalFileDataSource(DataSource):
|
|
|
122
123
|
super(LocalFileDataSource, self).__init__()
|
|
123
124
|
|
|
124
125
|
self.root_path = os.path.abspath(root_path)
|
|
126
|
+
|
|
127
|
+
# Validate that the path is not in restricted locations
|
|
128
|
+
for restricted_path in _SENSITIVE_SYSTEM_PATHS:
|
|
129
|
+
if self.root_path != "/" and self.root_path.startswith(restricted_path):
|
|
130
|
+
raise ValueError(
|
|
131
|
+
f"Local Mode does not support mounting from restricted system paths. "
|
|
132
|
+
f"Got: {root_path}"
|
|
133
|
+
)
|
|
134
|
+
|
|
125
135
|
if not os.path.exists(self.root_path):
|
|
126
136
|
raise RuntimeError("Invalid data source: %s does not exist." % self.root_path)
|
|
127
137
|
|
|
@@ -85,7 +85,7 @@ class LocalSagemakerClient(object): # pylint: disable=too-many-public-methods
|
|
|
85
85
|
"""
|
|
86
86
|
self.sagemaker_session = sagemaker_session or LocalSession()
|
|
87
87
|
|
|
88
|
-
@_telemetry_emitter(Feature.
|
|
88
|
+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_processing_job")
|
|
89
89
|
def create_processing_job(
|
|
90
90
|
self,
|
|
91
91
|
ProcessingJobName,
|
|
@@ -168,7 +168,7 @@ class LocalSagemakerClient(object): # pylint: disable=too-many-public-methods
|
|
|
168
168
|
raise ClientError(error_response, "describe_processing_job")
|
|
169
169
|
return LocalSagemakerClient._processing_jobs[ProcessingJobName].describe()
|
|
170
170
|
|
|
171
|
-
@_telemetry_emitter(Feature.
|
|
171
|
+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_training_job")
|
|
172
172
|
def create_training_job(
|
|
173
173
|
self,
|
|
174
174
|
TrainingJobName,
|
|
@@ -239,7 +239,7 @@ class LocalSagemakerClient(object): # pylint: disable=too-many-public-methods
|
|
|
239
239
|
raise ClientError(error_response, "describe_training_job")
|
|
240
240
|
return LocalSagemakerClient._training_jobs[TrainingJobName].describe()
|
|
241
241
|
|
|
242
|
-
@_telemetry_emitter(Feature.
|
|
242
|
+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_transform_job")
|
|
243
243
|
def create_transform_job(
|
|
244
244
|
self,
|
|
245
245
|
TransformJobName,
|
|
@@ -285,7 +285,7 @@ class LocalSagemakerClient(object): # pylint: disable=too-many-public-methods
|
|
|
285
285
|
raise ClientError(error_response, "describe_transform_job")
|
|
286
286
|
return LocalSagemakerClient._transform_jobs[TransformJobName].describe()
|
|
287
287
|
|
|
288
|
-
@_telemetry_emitter(Feature.
|
|
288
|
+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_model")
|
|
289
289
|
def create_model(
|
|
290
290
|
self, ModelName, PrimaryContainer, *args, **kwargs
|
|
291
291
|
): # pylint: disable=unused-argument
|
|
@@ -335,7 +335,7 @@ class LocalSagemakerClient(object): # pylint: disable=too-many-public-methods
|
|
|
335
335
|
raise ClientError(error_response, "describe_endpoint_config")
|
|
336
336
|
return LocalSagemakerClient._endpoint_configs[EndpointConfigName].describe()
|
|
337
337
|
|
|
338
|
-
@_telemetry_emitter(Feature.
|
|
338
|
+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_endpoint_config")
|
|
339
339
|
def create_endpoint_config(self, EndpointConfigName, ProductionVariants, Tags=None):
|
|
340
340
|
"""Create the endpoint configuration.
|
|
341
341
|
|
|
@@ -367,7 +367,7 @@ class LocalSagemakerClient(object): # pylint: disable=too-many-public-methods
|
|
|
367
367
|
raise ClientError(error_response, "describe_endpoint")
|
|
368
368
|
return LocalSagemakerClient._endpoints[EndpointName].describe()
|
|
369
369
|
|
|
370
|
-
@_telemetry_emitter(Feature.
|
|
370
|
+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_endpoint")
|
|
371
371
|
def create_endpoint(self, EndpointName, EndpointConfigName, Tags=None):
|
|
372
372
|
"""Create the endpoint.
|
|
373
373
|
|
|
@@ -436,7 +436,7 @@ class LocalSagemakerClient(object): # pylint: disable=too-many-public-methods
|
|
|
436
436
|
if ModelName in LocalSagemakerClient._models:
|
|
437
437
|
del LocalSagemakerClient._models[ModelName]
|
|
438
438
|
|
|
439
|
-
@_telemetry_emitter(Feature.
|
|
439
|
+
@_telemetry_emitter(Feature.LOCAL_MODE_V2, "local_session.create_pipeline")
|
|
440
440
|
def create_pipeline(
|
|
441
441
|
self, pipeline, pipeline_description, **kwargs # pylint: disable=unused-argument
|
|
442
442
|
):
|
|
@@ -48,10 +48,7 @@ def copy_directory_structure(destination_directory, relative_path):
|
|
|
48
48
|
destination_directory
|
|
49
49
|
"""
|
|
50
50
|
full_path = os.path.join(destination_directory, relative_path)
|
|
51
|
-
|
|
52
|
-
return
|
|
53
|
-
|
|
54
|
-
os.makedirs(destination_directory, relative_path)
|
|
51
|
+
os.makedirs(full_path, exist_ok=True)
|
|
55
52
|
|
|
56
53
|
|
|
57
54
|
def move_to_destination(source, destination, job_name, sagemaker_session, prefix=""):
|
|
@@ -248,7 +248,8 @@ class OutputDataConfig(shapes.OutputDataConfig):
|
|
|
248
248
|
"""OutputDataConfig.
|
|
249
249
|
|
|
250
250
|
The OutputDataConfig class is a subclass of ``sagemaker_core.shapes.OutputDataConfig``
|
|
251
|
-
and allows the user to specify the output data configuration for the training job
|
|
251
|
+
and allows the user to specify the output data configuration for the training job
|
|
252
|
+
(will not be carried over to any model repository or deployment).
|
|
252
253
|
|
|
253
254
|
Parameters:
|
|
254
255
|
s3_output_path (Optional[str]):
|
|
@@ -807,7 +807,7 @@ class ModelTrainer(BaseModel):
|
|
|
807
807
|
args["session_chaining_config"] = self._session_chaining_config
|
|
808
808
|
return args
|
|
809
809
|
|
|
810
|
-
@_telemetry_emitter(feature=Feature.
|
|
810
|
+
@_telemetry_emitter(feature=Feature.MODEL_TRAINER_V2, func_name="model_trainer.train")
|
|
811
811
|
@validate_call
|
|
812
812
|
def train(
|
|
813
813
|
self,
|
|
@@ -1927,7 +1927,7 @@ class FrameworkProcessor(ScriptProcessor):
|
|
|
1927
1927
|
# Some py3 containers has typing, which may breaks pip install
|
|
1928
1928
|
pip uninstall --yes typing
|
|
1929
1929
|
|
|
1930
|
-
pip install -r requirements.txt
|
|
1930
|
+
python -m pip install -r requirements.txt
|
|
1931
1931
|
fi
|
|
1932
1932
|
|
|
1933
1933
|
{entry_point_command} {entry_point} "$@"
|
|
@@ -59,7 +59,7 @@ _FINISHED = "FINISHED"
|
|
|
59
59
|
logger = logging_config.get_logger()
|
|
60
60
|
|
|
61
61
|
|
|
62
|
-
@_telemetry_emitter(feature=Feature.
|
|
62
|
+
@_telemetry_emitter(feature=Feature.REMOTE_FUNCTION_V2, func_name="remote_function.remote")
|
|
63
63
|
def remote(
|
|
64
64
|
_func=None,
|
|
65
65
|
*,
|
|
@@ -362,7 +362,6 @@ def remote(
|
|
|
362
362
|
s3_uri=s3_path_join(
|
|
363
363
|
job_settings.s3_root_uri, job.job_name, EXCEPTION_FOLDER
|
|
364
364
|
),
|
|
365
|
-
hmac_key=job.hmac_key,
|
|
366
365
|
)
|
|
367
366
|
except ServiceError as serr:
|
|
368
367
|
chained_e = serr.__cause__
|
|
@@ -399,7 +398,6 @@ def remote(
|
|
|
399
398
|
return serialization.deserialize_obj_from_s3(
|
|
400
399
|
sagemaker_session=job_settings.sagemaker_session,
|
|
401
400
|
s3_uri=s3_path_join(job_settings.s3_root_uri, job.job_name, RESULTS_FOLDER),
|
|
402
|
-
hmac_key=job.hmac_key,
|
|
403
401
|
)
|
|
404
402
|
|
|
405
403
|
if job.describe()["TrainingJobStatus"] == "Stopped":
|
|
@@ -979,7 +977,6 @@ class Future(object):
|
|
|
979
977
|
job_return = serialization.deserialize_obj_from_s3(
|
|
980
978
|
sagemaker_session=sagemaker_session,
|
|
981
979
|
s3_uri=s3_path_join(job.s3_uri, RESULTS_FOLDER),
|
|
982
|
-
hmac_key=job.hmac_key,
|
|
983
980
|
)
|
|
984
981
|
except DeserializationError as e:
|
|
985
982
|
client_exception = e
|
|
@@ -991,7 +988,6 @@ class Future(object):
|
|
|
991
988
|
job_exception = serialization.deserialize_exception_from_s3(
|
|
992
989
|
sagemaker_session=sagemaker_session,
|
|
993
990
|
s3_uri=s3_path_join(job.s3_uri, EXCEPTION_FOLDER),
|
|
994
|
-
hmac_key=job.hmac_key,
|
|
995
991
|
)
|
|
996
992
|
except ServiceError as serr:
|
|
997
993
|
chained_e = serr.__cause__
|
|
@@ -1081,7 +1077,6 @@ class Future(object):
|
|
|
1081
1077
|
self._return = serialization.deserialize_obj_from_s3(
|
|
1082
1078
|
sagemaker_session=self._job.sagemaker_session,
|
|
1083
1079
|
s3_uri=s3_path_join(self._job.s3_uri, RESULTS_FOLDER),
|
|
1084
|
-
hmac_key=self._job.hmac_key,
|
|
1085
1080
|
)
|
|
1086
1081
|
self._state = _FINISHED
|
|
1087
1082
|
return self._return
|
|
@@ -1090,7 +1085,6 @@ class Future(object):
|
|
|
1090
1085
|
self._exception = serialization.deserialize_exception_from_s3(
|
|
1091
1086
|
sagemaker_session=self._job.sagemaker_session,
|
|
1092
1087
|
s3_uri=s3_path_join(self._job.s3_uri, EXCEPTION_FOLDER),
|
|
1093
|
-
hmac_key=self._job.hmac_key,
|
|
1094
1088
|
)
|
|
1095
1089
|
except ServiceError as serr:
|
|
1096
1090
|
chained_e = serr.__cause__
|
|
@@ -164,7 +164,6 @@ class _DelayedReturnResolver:
|
|
|
164
164
|
def __init__(
|
|
165
165
|
self,
|
|
166
166
|
delayed_returns: List[_DelayedReturn],
|
|
167
|
-
hmac_key: str,
|
|
168
167
|
properties_resolver: _PropertiesResolver,
|
|
169
168
|
parameter_resolver: _ParameterResolver,
|
|
170
169
|
execution_variable_resolver: _ExecutionVariableResolver,
|
|
@@ -175,7 +174,6 @@ class _DelayedReturnResolver:
|
|
|
175
174
|
|
|
176
175
|
Args:
|
|
177
176
|
delayed_returns: list of delayed returns to resolve.
|
|
178
|
-
hmac_key: key used to encrypt serialized and deserialized function and arguments.
|
|
179
177
|
properties_resolver: resolver used to resolve step properties.
|
|
180
178
|
parameter_resolver: resolver used to pipeline parameters.
|
|
181
179
|
execution_variable_resolver: resolver used to resolve execution variables.
|
|
@@ -197,7 +195,6 @@ class _DelayedReturnResolver:
|
|
|
197
195
|
return uri, deserialize_obj_from_s3(
|
|
198
196
|
sagemaker_session=settings["sagemaker_session"],
|
|
199
197
|
s3_uri=uri,
|
|
200
|
-
hmac_key=hmac_key,
|
|
201
198
|
)
|
|
202
199
|
|
|
203
200
|
with ThreadPoolExecutor() as executor:
|
|
@@ -247,7 +244,6 @@ def resolve_pipeline_variables(
|
|
|
247
244
|
context: Context,
|
|
248
245
|
func_args: Tuple,
|
|
249
246
|
func_kwargs: Dict,
|
|
250
|
-
hmac_key: str,
|
|
251
247
|
s3_base_uri: str,
|
|
252
248
|
**settings,
|
|
253
249
|
):
|
|
@@ -257,7 +253,6 @@ def resolve_pipeline_variables(
|
|
|
257
253
|
context: context for the execution.
|
|
258
254
|
func_args: function args.
|
|
259
255
|
func_kwargs: function kwargs.
|
|
260
|
-
hmac_key: key used to encrypt serialized and deserialized function and arguments.
|
|
261
256
|
s3_base_uri: the s3 base uri of the function step that the serialized artifacts
|
|
262
257
|
will be uploaded to. The s3_base_uri = s3_root_uri + pipeline_name.
|
|
263
258
|
**settings: settings to pass to the deserialization function.
|
|
@@ -280,7 +275,6 @@ def resolve_pipeline_variables(
|
|
|
280
275
|
properties_resolver = _PropertiesResolver(context)
|
|
281
276
|
delayed_return_resolver = _DelayedReturnResolver(
|
|
282
277
|
delayed_returns=delayed_returns,
|
|
283
|
-
hmac_key=hmac_key,
|
|
284
278
|
properties_resolver=properties_resolver,
|
|
285
279
|
parameter_resolver=parameter_resolver,
|
|
286
280
|
execution_variable_resolver=execution_variable_resolver,
|
{sagemaker-2.254.2.dev0 → sagemaker-2.256.0}/src/sagemaker/remote_function/core/serialization.py
RENAMED
|
@@ -152,7 +152,7 @@ class CloudpickleSerializer:
|
|
|
152
152
|
|
|
153
153
|
# TODO: use dask serializer in case dask distributed is installed in users' environment.
|
|
154
154
|
def serialize_func_to_s3(
|
|
155
|
-
func: Callable, sagemaker_session: Session, s3_uri: str,
|
|
155
|
+
func: Callable, sagemaker_session: Session, s3_uri: str, s3_kms_key: str = None
|
|
156
156
|
):
|
|
157
157
|
"""Serializes function and uploads it to S3.
|
|
158
158
|
|
|
@@ -160,7 +160,6 @@ def serialize_func_to_s3(
|
|
|
160
160
|
sagemaker_session (sagemaker.session.Session):
|
|
161
161
|
The underlying Boto3 session which AWS service calls are delegated to.
|
|
162
162
|
s3_uri (str): S3 root uri to which resulting serialized artifacts will be uploaded.
|
|
163
|
-
hmac_key (str): Key used to calculate hmac-sha256 hash of the serialized func.
|
|
164
163
|
s3_kms_key (str): KMS key used to encrypt artifacts uploaded to S3.
|
|
165
164
|
func: function to be serialized and persisted
|
|
166
165
|
Raises:
|
|
@@ -169,14 +168,13 @@ def serialize_func_to_s3(
|
|
|
169
168
|
|
|
170
169
|
_upload_payload_and_metadata_to_s3(
|
|
171
170
|
bytes_to_upload=CloudpickleSerializer.serialize(func),
|
|
172
|
-
hmac_key=hmac_key,
|
|
173
171
|
s3_uri=s3_uri,
|
|
174
172
|
sagemaker_session=sagemaker_session,
|
|
175
173
|
s3_kms_key=s3_kms_key,
|
|
176
174
|
)
|
|
177
175
|
|
|
178
176
|
|
|
179
|
-
def deserialize_func_from_s3(sagemaker_session: Session, s3_uri: str
|
|
177
|
+
def deserialize_func_from_s3(sagemaker_session: Session, s3_uri: str) -> Callable:
|
|
180
178
|
"""Downloads from S3 and then deserializes data objects.
|
|
181
179
|
|
|
182
180
|
This method downloads the serialized training job outputs to a temporary directory and
|
|
@@ -186,7 +184,6 @@ def deserialize_func_from_s3(sagemaker_session: Session, s3_uri: str, hmac_key:
|
|
|
186
184
|
sagemaker_session (sagemaker.session.Session):
|
|
187
185
|
The underlying sagemaker session which AWS service calls are delegated to.
|
|
188
186
|
s3_uri (str): S3 root uri to which resulting serialized artifacts will be uploaded.
|
|
189
|
-
hmac_key (str): Key used to calculate hmac-sha256 hash of the serialized func.
|
|
190
187
|
Returns :
|
|
191
188
|
The deserialized function.
|
|
192
189
|
Raises:
|
|
@@ -198,16 +195,12 @@ def deserialize_func_from_s3(sagemaker_session: Session, s3_uri: str, hmac_key:
|
|
|
198
195
|
|
|
199
196
|
bytes_to_deserialize = _read_bytes_from_s3(f"{s3_uri}/payload.pkl", sagemaker_session)
|
|
200
197
|
|
|
201
|
-
_perform_integrity_check(
|
|
202
|
-
expected_hash_value=metadata.sha256_hash, secret_key=hmac_key, buffer=bytes_to_deserialize
|
|
203
|
-
)
|
|
198
|
+
_perform_integrity_check(expected_hash_value=metadata.sha256_hash, buffer=bytes_to_deserialize)
|
|
204
199
|
|
|
205
200
|
return CloudpickleSerializer.deserialize(f"{s3_uri}/payload.pkl", bytes_to_deserialize)
|
|
206
201
|
|
|
207
202
|
|
|
208
|
-
def serialize_obj_to_s3(
|
|
209
|
-
obj: Any, sagemaker_session: Session, s3_uri: str, hmac_key: str, s3_kms_key: str = None
|
|
210
|
-
):
|
|
203
|
+
def serialize_obj_to_s3(obj: Any, sagemaker_session: Session, s3_uri: str, s3_kms_key: str = None):
|
|
211
204
|
"""Serializes data object and uploads it to S3.
|
|
212
205
|
|
|
213
206
|
Args:
|
|
@@ -215,7 +208,6 @@ def serialize_obj_to_s3(
|
|
|
215
208
|
The underlying Boto3 session which AWS service calls are delegated to.
|
|
216
209
|
s3_uri (str): S3 root uri to which resulting serialized artifacts will be uploaded.
|
|
217
210
|
s3_kms_key (str): KMS key used to encrypt artifacts uploaded to S3.
|
|
218
|
-
hmac_key (str): Key used to calculate hmac-sha256 hash of the serialized obj.
|
|
219
211
|
obj: object to be serialized and persisted
|
|
220
212
|
Raises:
|
|
221
213
|
SerializationError: when fail to serialize object to bytes.
|
|
@@ -223,7 +215,6 @@ def serialize_obj_to_s3(
|
|
|
223
215
|
|
|
224
216
|
_upload_payload_and_metadata_to_s3(
|
|
225
217
|
bytes_to_upload=CloudpickleSerializer.serialize(obj),
|
|
226
|
-
hmac_key=hmac_key,
|
|
227
218
|
s3_uri=s3_uri,
|
|
228
219
|
sagemaker_session=sagemaker_session,
|
|
229
220
|
s3_kms_key=s3_kms_key,
|
|
@@ -270,14 +261,13 @@ def json_serialize_obj_to_s3(
|
|
|
270
261
|
)
|
|
271
262
|
|
|
272
263
|
|
|
273
|
-
def deserialize_obj_from_s3(sagemaker_session: Session, s3_uri: str
|
|
264
|
+
def deserialize_obj_from_s3(sagemaker_session: Session, s3_uri: str) -> Any:
|
|
274
265
|
"""Downloads from S3 and then deserializes data objects.
|
|
275
266
|
|
|
276
267
|
Args:
|
|
277
268
|
sagemaker_session (sagemaker.session.Session):
|
|
278
269
|
The underlying sagemaker session which AWS service calls are delegated to.
|
|
279
270
|
s3_uri (str): S3 root uri to which resulting serialized artifacts will be uploaded.
|
|
280
|
-
hmac_key (str): Key used to calculate hmac-sha256 hash of the serialized obj.
|
|
281
271
|
Returns :
|
|
282
272
|
Deserialized python objects.
|
|
283
273
|
Raises:
|
|
@@ -290,15 +280,13 @@ def deserialize_obj_from_s3(sagemaker_session: Session, s3_uri: str, hmac_key: s
|
|
|
290
280
|
|
|
291
281
|
bytes_to_deserialize = _read_bytes_from_s3(f"{s3_uri}/payload.pkl", sagemaker_session)
|
|
292
282
|
|
|
293
|
-
_perform_integrity_check(
|
|
294
|
-
expected_hash_value=metadata.sha256_hash, secret_key=hmac_key, buffer=bytes_to_deserialize
|
|
295
|
-
)
|
|
283
|
+
_perform_integrity_check(expected_hash_value=metadata.sha256_hash, buffer=bytes_to_deserialize)
|
|
296
284
|
|
|
297
285
|
return CloudpickleSerializer.deserialize(f"{s3_uri}/payload.pkl", bytes_to_deserialize)
|
|
298
286
|
|
|
299
287
|
|
|
300
288
|
def serialize_exception_to_s3(
|
|
301
|
-
exc: Exception, sagemaker_session: Session, s3_uri: str,
|
|
289
|
+
exc: Exception, sagemaker_session: Session, s3_uri: str, s3_kms_key: str = None
|
|
302
290
|
):
|
|
303
291
|
"""Serializes exception with traceback and uploads it to S3.
|
|
304
292
|
|
|
@@ -307,7 +295,6 @@ def serialize_exception_to_s3(
|
|
|
307
295
|
The underlying Boto3 session which AWS service calls are delegated to.
|
|
308
296
|
s3_uri (str): S3 root uri to which resulting serialized artifacts will be uploaded.
|
|
309
297
|
s3_kms_key (str): KMS key used to encrypt artifacts uploaded to S3.
|
|
310
|
-
hmac_key (str): Key used to calculate hmac-sha256 hash of the serialized exception.
|
|
311
298
|
exc: Exception to be serialized and persisted
|
|
312
299
|
Raises:
|
|
313
300
|
SerializationError: when fail to serialize object to bytes.
|
|
@@ -316,7 +303,6 @@ def serialize_exception_to_s3(
|
|
|
316
303
|
|
|
317
304
|
_upload_payload_and_metadata_to_s3(
|
|
318
305
|
bytes_to_upload=CloudpickleSerializer.serialize(exc),
|
|
319
|
-
hmac_key=hmac_key,
|
|
320
306
|
s3_uri=s3_uri,
|
|
321
307
|
sagemaker_session=sagemaker_session,
|
|
322
308
|
s3_kms_key=s3_kms_key,
|
|
@@ -325,7 +311,6 @@ def serialize_exception_to_s3(
|
|
|
325
311
|
|
|
326
312
|
def _upload_payload_and_metadata_to_s3(
|
|
327
313
|
bytes_to_upload: Union[bytes, io.BytesIO],
|
|
328
|
-
hmac_key: str,
|
|
329
314
|
s3_uri: str,
|
|
330
315
|
sagemaker_session: Session,
|
|
331
316
|
s3_kms_key,
|
|
@@ -334,7 +319,6 @@ def _upload_payload_and_metadata_to_s3(
|
|
|
334
319
|
|
|
335
320
|
Args:
|
|
336
321
|
bytes_to_upload (bytes): Serialized bytes to upload.
|
|
337
|
-
hmac_key (str): Key used to calculate hmac-sha256 hash of the serialized obj.
|
|
338
322
|
s3_uri (str): S3 root uri to which resulting serialized artifacts will be uploaded.
|
|
339
323
|
sagemaker_session (sagemaker.session.Session):
|
|
340
324
|
The underlying Boto3 session which AWS service calls are delegated to.
|
|
@@ -342,7 +326,7 @@ def _upload_payload_and_metadata_to_s3(
|
|
|
342
326
|
"""
|
|
343
327
|
_upload_bytes_to_s3(bytes_to_upload, f"{s3_uri}/payload.pkl", s3_kms_key, sagemaker_session)
|
|
344
328
|
|
|
345
|
-
sha256_hash = _compute_hash(bytes_to_upload
|
|
329
|
+
sha256_hash = _compute_hash(bytes_to_upload)
|
|
346
330
|
|
|
347
331
|
_upload_bytes_to_s3(
|
|
348
332
|
_MetaData(sha256_hash).to_json(),
|
|
@@ -352,14 +336,13 @@ def _upload_payload_and_metadata_to_s3(
|
|
|
352
336
|
)
|
|
353
337
|
|
|
354
338
|
|
|
355
|
-
def deserialize_exception_from_s3(sagemaker_session: Session, s3_uri: str
|
|
339
|
+
def deserialize_exception_from_s3(sagemaker_session: Session, s3_uri: str) -> Any:
|
|
356
340
|
"""Downloads from S3 and then deserializes exception.
|
|
357
341
|
|
|
358
342
|
Args:
|
|
359
343
|
sagemaker_session (sagemaker.session.Session):
|
|
360
344
|
The underlying sagemaker session which AWS service calls are delegated to.
|
|
361
345
|
s3_uri (str): S3 root uri to which resulting serialized artifacts will be uploaded.
|
|
362
|
-
hmac_key (str): Key used to calculate hmac-sha256 hash of the serialized exception.
|
|
363
346
|
Returns :
|
|
364
347
|
Deserialized exception with traceback.
|
|
365
348
|
Raises:
|
|
@@ -372,9 +355,7 @@ def deserialize_exception_from_s3(sagemaker_session: Session, s3_uri: str, hmac_
|
|
|
372
355
|
|
|
373
356
|
bytes_to_deserialize = _read_bytes_from_s3(f"{s3_uri}/payload.pkl", sagemaker_session)
|
|
374
357
|
|
|
375
|
-
_perform_integrity_check(
|
|
376
|
-
expected_hash_value=metadata.sha256_hash, secret_key=hmac_key, buffer=bytes_to_deserialize
|
|
377
|
-
)
|
|
358
|
+
_perform_integrity_check(expected_hash_value=metadata.sha256_hash, buffer=bytes_to_deserialize)
|
|
378
359
|
|
|
379
360
|
return CloudpickleSerializer.deserialize(f"{s3_uri}/payload.pkl", bytes_to_deserialize)
|
|
380
361
|
|
|
@@ -399,18 +380,18 @@ def _read_bytes_from_s3(s3_uri, sagemaker_session):
|
|
|
399
380
|
) from e
|
|
400
381
|
|
|
401
382
|
|
|
402
|
-
def _compute_hash(buffer: bytes
|
|
403
|
-
"""Compute the
|
|
404
|
-
return
|
|
383
|
+
def _compute_hash(buffer: bytes) -> str:
|
|
384
|
+
"""Compute the sha256 hash"""
|
|
385
|
+
return hashlib.sha256(buffer).hexdigest()
|
|
405
386
|
|
|
406
387
|
|
|
407
|
-
def _perform_integrity_check(expected_hash_value: str,
|
|
388
|
+
def _perform_integrity_check(expected_hash_value: str, buffer: bytes):
|
|
408
389
|
"""Performs integrity checks for serialized code/arguments uploaded to s3.
|
|
409
390
|
|
|
410
391
|
Verifies whether the hash read from s3 matches the hash calculated
|
|
411
392
|
during remote function execution.
|
|
412
393
|
"""
|
|
413
|
-
actual_hash_value = _compute_hash(buffer=buffer
|
|
394
|
+
actual_hash_value = _compute_hash(buffer=buffer)
|
|
414
395
|
if not hmac.compare_digest(expected_hash_value, actual_hash_value):
|
|
415
396
|
raise DeserializationError(
|
|
416
397
|
"Integrity check for the serialized function or data failed. "
|