sagemaker 2.232.1__tar.gz → 2.232.2__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.232.1 → sagemaker-2.232.2}/PKG-INFO +2 -1
- sagemaker-2.232.2/VERSION +1 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/pyproject.toml +1 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/estimator.py +8 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/huggingface/model.py +1 -5
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/pytorch.json +43 -1
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/cache.py +2 -1
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/exceptions.py +2 -2
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/utils.py +7 -2
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/local/image.py +1 -2
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/local/utils.py +2 -3
- sagemaker-2.232.2/src/sagemaker/mlflow/forward_sagemaker_metrics.py +311 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/utils.py +18 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/_repack_model.py +1 -8
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/_utils.py +1 -1
- sagemaker-2.232.1/VERSION +0 -1
- {sagemaker-2.232.1 → sagemaker-2.232.2}/.gitignore +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/LICENSE.txt +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/NOTICE.txt +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/README.rst +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/hatch_build.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/requirements/extras/feature-processor_requirements.txt +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/requirements/extras/huggingface_requirements.txt +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/requirements/extras/local_requirements.txt +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/requirements/extras/scipy_requirements.txt +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/requirements/extras/test_requirements.txt +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/_studio.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/accept_types.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/algorithm.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/README.rst +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/amazon_estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/common.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/factorization_machines.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/hyperparameter.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/ipinsights.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/kmeans.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/knn.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/lda.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/linear_learner.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/ntm.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/object2vec.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/pca.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/randomcutforest.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/record.proto +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/record_pb2.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/amazon/validation.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/analytics.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/apiutils/.pydocstylerc +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/apiutils/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/apiutils/_base_types.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/apiutils/_boto_functions.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/apiutils/_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/async_inference/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/async_inference/async_inference_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/async_inference/async_inference_response.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/async_inference/waiter_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/automl/README.rst +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/automl/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/automl/automl.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/automl/automlv2.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/automl/candidate_estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/base_deserializers.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/base_predictor.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/base_serializers.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/chainer/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/chainer/defaults.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/chainer/estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/chainer/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/clarify.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/ast_transformer.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/files.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/airflow.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/deprecated_params.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/framework_version.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/image_uris.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/matching.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/modifier.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/parsing.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/predictors.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/renamed_params.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/serde.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/tf_legacy_mode.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/tfs.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/training_input.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/modifiers/training_params.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/compatibility/v2/sagemaker_upgrade_v2.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/cli/framework_upgrade.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/collection.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/compute_resource_requirements/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/compute_resource_requirements/resource_requirements.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/config/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/config/config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/config/config_schema.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/config/config_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/content_types.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/dataset_definition/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/dataset_definition/inputs.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/debugger/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/debugger/debugger.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/debugger/framework_profile.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/debugger/metrics_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/debugger/profiler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/debugger/profiler_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/debugger/profiler_constants.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/debugger/utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/deprecations.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/deserializers.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/djl_inference/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/djl_inference/djl_predictor.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/djl_inference/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/drift_check_baselines.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/enums.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/environment_variables.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/exceptions.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/_api_types.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/_environment.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/_helper.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/_metrics.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/_run_context.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/experiment.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/run.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/trial.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/experiments/trial_component.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/explainer/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/explainer/clarify_explainer_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/explainer/explainer_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/dataset_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_definition.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_group.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_config_uploader.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_constants.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_data_source.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_enums.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_env.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_event_bridge_rule_helper.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_event_bridge_scheduler_helper.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_exceptions.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_factory.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_feature_processor_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_feature_processor_pipeline_events.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_input_loader.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_input_offset_parser.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_params_loader.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_spark_factory.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_udf_arg_provider.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_udf_output_receiver.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_udf_wrapper.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/_validation.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/feature_processor.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/feature_scheduler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_feature_group_contexts.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_feature_group_lineage_entity_handler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_feature_processor_lineage.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_feature_processor_lineage_name_helper.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_lineage_association_handler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_lineage_entity_handler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_schedule.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_trigger.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_version_lineage_entity_handler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_s3_lineage_entity_handler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/_transformation_code.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_processor/lineage/constants.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_store.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/feature_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/feature_store/inputs.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/fw_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/git_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/huggingface/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/huggingface/estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/huggingface/llm_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/huggingface/processing.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/huggingface/training_compiler/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/huggingface/training_compiler/config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/hyperparameters.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/autogluon.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/blazingtext.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/chainer.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/clarify.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/coach-mxnet.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/coach-tensorflow.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/data-wrangler.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/debugger.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/detailed-profiler.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/djl-deepspeed.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/djl-fastertransformer.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/djl-lmi.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/djl-neuronx.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/djl-tensorrtllm.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/factorization-machines.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/forecasting-deepar.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/huggingface-llm-neuronx.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/huggingface-llm.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/huggingface-neuron.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/huggingface-neuronx.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/huggingface-tei-cpu.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/huggingface-tei.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/huggingface-training-compiler.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/huggingface.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/image-classification-neo.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/image-classification.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/inferentia-mxnet.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/inferentia-pytorch.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/inferentia-tensorflow.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/instance_gpu_info.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/ipinsights.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/kmeans.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/knn.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/lda.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/linear-learner.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/model-monitor.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/mxnet.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/neo-mxnet.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/neo-pytorch.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/neo-tensorflow.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/ntm.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/object-detection.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/object2vec.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/pca.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/pytorch-neuron.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/pytorch-smp.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/pytorch-training-compiler.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/randomcutforest.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/ray-pytorch.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/ray-tensorflow.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/sagemaker-base-python.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/sagemaker-geospatial.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/sagemaker-tritonserver.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/semantic-segmentation.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/seq2seq.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/sklearn.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/spark.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/sparkml-serving.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/stabilityai.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/tensorflow.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/vw.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/xgboost-neo.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uri_config/xgboost.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/image_uris.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/inference_recommender/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/inference_recommender/inference_recommender_mixin.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/inputs.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/instance_group.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/instance_types.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/instance_types_gpu_info.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/interactive_apps/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/interactive_apps/base_interactive_app.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/interactive_apps/detail_profiler_app.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/interactive_apps/tensorboard.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/iterators.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/job.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/accessors.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/environment_variables.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/hyperparameters.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/image_uris.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/incremental_training.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/instance_types.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/kwargs.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/metric_definitions.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/model_packages.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/model_uris.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/payloads.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/predictors.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/resource_names.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/resource_requirements.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/artifacts/script_uris.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/constants.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/enums.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/factory/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/factory/estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/factory/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/factory/utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/filters.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/hub/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/hub/constants.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/hub/hub.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/hub/interfaces.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/hub/parser_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/hub/parsers.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/hub/types.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/hub/utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/notebook_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/parameters.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/payload_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/session_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/types.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/jumpstart/validators.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lambda_helper.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/.pydocstylerc +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/_api_types.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/action.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/artifact.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/association.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/context.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/lineage_trial_component.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/query.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/lineage/visualizer.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/local/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/local/data.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/local/entities.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/local/exceptions.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/local/local_session.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/local/pipeline.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/logs.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/metadata_properties.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/metric_definitions.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/mlflow/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/mlflow/tracking_server.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_card/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_card/evaluation_metric_parsers.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_card/helpers.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_card/model_card.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_card/schema_constraints.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_metrics.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_monitor/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_monitor/clarify_model_monitoring.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_monitor/cron_expression_generator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_monitor/data_capture_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_monitor/data_quality_monitoring_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_monitor/dataset_format.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_monitor/model_monitoring.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_monitor/monitoring_alert.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_monitor/monitoring_files.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/model_uris.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/multidatamodel.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/mxnet/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/mxnet/defaults.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/mxnet/estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/mxnet/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/mxnet/processing.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/network.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/parameter.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/payloads.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/pipeline.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/predictor.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/predictor_async.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/processing.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/pytorch/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/pytorch/defaults.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/pytorch/estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/pytorch/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/pytorch/processing.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/pytorch/training_compiler/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/pytorch/training_compiler/config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/checkpoint_location.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/client.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/core/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/core/_custom_dispatch_table.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/core/pipeline_variables.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/core/serialization.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/core/stored_function.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/custom_file_filter.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/errors.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/invoke_function.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/job.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/logging_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/runtime_environment/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/runtime_environment/bootstrap_runtime_environment.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/runtime_environment/runtime_environment_manager.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/runtime_environment/spark_app.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/remote_function/spark_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/resource_requirements.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/rl/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/rl/estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/s3.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/s3_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/script_uris.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serializers.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/app.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/djl_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/jumpstart_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/model_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/requirements_manager.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/schema_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/serve_settings.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/tei_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/tf_serving_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/tgi_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/transformers_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/builder/triton_schema_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/detector/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/detector/dependency_manager.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/detector/image_detector.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/detector/pickle_dependencies.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/detector/pickler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/marshalling/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/marshalling/custom_payload_translator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/marshalling/triton_translator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/mode/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/mode/function_pointers.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/mode/in_process_mode.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/mode/local_container_mode.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/mode/sagemaker_endpoint_mode.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_format/mlflow/constants.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_format/mlflow/utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/djl_serving/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/djl_serving/prepare.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/djl_serving/server.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/djl_serving/utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/multi_model_server/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/multi_model_server/inference.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/multi_model_server/prepare.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/multi_model_server/server.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/tei/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/tei/server.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/tensorflow_serving/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/tensorflow_serving/inference.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/tensorflow_serving/prepare.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/tensorflow_serving/server.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/tgi/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/tgi/prepare.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/tgi/server.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/tgi/utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/torchserve/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/torchserve/inference.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/torchserve/prepare.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/torchserve/server.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/torchserve/xgboost_inference.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/triton/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/triton/config_template.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/triton/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/triton/pack_conda_env.sh +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/triton/server.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/model_server/triton/triton_builder.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/version_1_0_0/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/version_1_0_0/metadata/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/version_1_0_0/metadata/metadata.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/version_1_0_0/save/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/version_1_0_0/save/framework/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/version_1_0_0/save/framework/framework_handler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/version_1_0_0/save/framework/pytorch_handler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/version_1_0_0/save/framework/xgboost_handler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/version_1_0_0/save/save_handler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/save_retrive/version_1_0_0/save/utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/schema/task.json +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/spec/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/spec/inference_spec.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/conda_in_process.yml +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/exceptions.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/hardware_detector.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/hf_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/in_process_requirements.txt +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/lineage_constants.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/lineage_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/local_hardware.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/logging_agent.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/optimize_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/predictors.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/task.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/telemetry_logger.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/tuning.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/types.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/utils/uploader.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/validations/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/validations/check_image_and_hardware_type.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/validations/check_image_uri.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/validations/check_integrity.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serve/validations/parse_registry_accounts.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serverless/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serverless/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serverless/predictor.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/serverless/serverless_inference_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/session.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/session_settings.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/sklearn/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/sklearn/defaults.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/sklearn/estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/sklearn/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/sklearn/processing.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/spark/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/spark/defaults.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/spark/processing.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/sparkml/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/sparkml/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/stabilityai/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/stabilityai/stability_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/telemetry/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/telemetry/constants.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/telemetry/telemetry_logging.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/tensorflow/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/tensorflow/defaults.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/tensorflow/estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/tensorflow/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/tensorflow/processing.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/tensorflow/serving.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/tensorflow/training_compiler/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/tensorflow/training_compiler/config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/training_compiler/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/training_compiler/config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/transformer.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/tuner.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/user_agent.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/utilities/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/utilities/cache.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/utilities/search_expression.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/vpc_utils.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/_event_bridge_client_helper.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/_steps_compiler.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/airflow.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/automl_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/callback_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/check_job_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/clarify_check_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/condition_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/conditions.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/emr_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/entities.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/execution_variables.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/fail_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/function_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/functions.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/lambda_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/model_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/monitor_batch_transform_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/notebook_job_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/parallelism_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/parameters.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/pipeline.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/pipeline_context.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/pipeline_definition_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/pipeline_experiment_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/properties.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/quality_check_step.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/retry.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/selective_execution_config.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/step_collections.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/step_outputs.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/steps.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/triggers.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/workflow/utilities.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/wrangler/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/wrangler/ingestion.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/wrangler/processing.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/xgboost/README.rst +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/xgboost/__init__.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/xgboost/defaults.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/xgboost/estimator.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/xgboost/model.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/xgboost/processing.py +0 -0
- {sagemaker-2.232.1 → sagemaker-2.232.2}/src/sagemaker/xgboost/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: sagemaker
|
|
3
|
-
Version: 2.232.
|
|
3
|
+
Version: 2.232.2
|
|
4
4
|
Summary: Open source library for training and deploying models on Amazon SageMaker.
|
|
5
5
|
Project-URL: Homepage, https://github.com/aws/sagemaker-python-sdk
|
|
6
6
|
Author: Amazon Web Services
|
|
@@ -34,6 +34,7 @@ Requires-Dist: psutil
|
|
|
34
34
|
Requires-Dist: pyyaml~=6.0
|
|
35
35
|
Requires-Dist: requests
|
|
36
36
|
Requires-Dist: sagemaker-core<2.0.0,>=1.0.0
|
|
37
|
+
Requires-Dist: sagemaker-mlflow
|
|
37
38
|
Requires-Dist: schema
|
|
38
39
|
Requires-Dist: smdebug-rulesconfig==1.0.1
|
|
39
40
|
Requires-Dist: tblib<4,>=1.7.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.232.2
|
|
@@ -107,6 +107,8 @@ from sagemaker.workflow.entities import PipelineVariable
|
|
|
107
107
|
from sagemaker.workflow.parameters import ParameterString
|
|
108
108
|
from sagemaker.workflow.pipeline_context import PipelineSession, runnable_by_pipeline
|
|
109
109
|
|
|
110
|
+
from sagemaker.mlflow.forward_sagemaker_metrics import log_sagemaker_job_to_mlflow
|
|
111
|
+
|
|
110
112
|
logger = logging.getLogger(__name__)
|
|
111
113
|
|
|
112
114
|
|
|
@@ -1366,8 +1368,14 @@ class EstimatorBase(with_metaclass(ABCMeta, object)): # pylint: disable=too-man
|
|
|
1366
1368
|
experiment_config = check_and_get_run_experiment_config(experiment_config)
|
|
1367
1369
|
self.latest_training_job = _TrainingJob.start_new(self, inputs, experiment_config)
|
|
1368
1370
|
self.jobs.append(self.latest_training_job)
|
|
1371
|
+
forward_to_mlflow_tracking_server = False
|
|
1372
|
+
if os.environ.get("MLFLOW_TRACKING_URI") and self.enable_network_isolation():
|
|
1373
|
+
wait = True
|
|
1374
|
+
forward_to_mlflow_tracking_server = True
|
|
1369
1375
|
if wait:
|
|
1370
1376
|
self.latest_training_job.wait(logs=logs)
|
|
1377
|
+
if forward_to_mlflow_tracking_server:
|
|
1378
|
+
log_sagemaker_job_to_mlflow(self.latest_training_job.name)
|
|
1371
1379
|
|
|
1372
1380
|
def _compilation_job_name(self):
|
|
1373
1381
|
"""Placeholder docstring"""
|
|
@@ -334,11 +334,7 @@ class HuggingFaceModel(FrameworkModel):
|
|
|
334
334
|
container_startup_health_check_timeout=container_startup_health_check_timeout,
|
|
335
335
|
inference_recommendation_id=inference_recommendation_id,
|
|
336
336
|
explainer_config=explainer_config,
|
|
337
|
-
|
|
338
|
-
endpoint_type=kwargs.get("endpoint_type", None),
|
|
339
|
-
resources=kwargs.get("resources", None),
|
|
340
|
-
managed_instance_scaling=kwargs.get("managed_instance_scaling", None),
|
|
341
|
-
routing_config=kwargs.get("routing_config", None),
|
|
337
|
+
**kwargs,
|
|
342
338
|
)
|
|
343
339
|
|
|
344
340
|
def register(
|
|
@@ -1407,7 +1407,8 @@
|
|
|
1407
1407
|
"2.0": "2.0.1",
|
|
1408
1408
|
"2.1": "2.1.0",
|
|
1409
1409
|
"2.2": "2.2.0",
|
|
1410
|
-
"2.3": "2.3.0"
|
|
1410
|
+
"2.3": "2.3.0",
|
|
1411
|
+
"2.4": "2.4.0"
|
|
1411
1412
|
},
|
|
1412
1413
|
"versions": {
|
|
1413
1414
|
"0.4.0": {
|
|
@@ -2429,6 +2430,47 @@
|
|
|
2429
2430
|
"us-west-2": "763104351884"
|
|
2430
2431
|
},
|
|
2431
2432
|
"repository": "pytorch-training"
|
|
2433
|
+
},
|
|
2434
|
+
"2.4.0": {
|
|
2435
|
+
"py_versions": [
|
|
2436
|
+
"py311"
|
|
2437
|
+
],
|
|
2438
|
+
"registries": {
|
|
2439
|
+
"af-south-1": "626614931356",
|
|
2440
|
+
"ap-east-1": "871362719292",
|
|
2441
|
+
"ap-northeast-1": "763104351884",
|
|
2442
|
+
"ap-northeast-2": "763104351884",
|
|
2443
|
+
"ap-northeast-3": "364406365360",
|
|
2444
|
+
"ap-south-1": "763104351884",
|
|
2445
|
+
"ap-south-2": "772153158452",
|
|
2446
|
+
"ap-southeast-1": "763104351884",
|
|
2447
|
+
"ap-southeast-2": "763104351884",
|
|
2448
|
+
"ap-southeast-3": "907027046896",
|
|
2449
|
+
"ap-southeast-4": "457447274322",
|
|
2450
|
+
"ca-central-1": "763104351884",
|
|
2451
|
+
"ca-west-1": "204538143572",
|
|
2452
|
+
"cn-north-1": "727897471807",
|
|
2453
|
+
"cn-northwest-1": "727897471807",
|
|
2454
|
+
"eu-central-1": "763104351884",
|
|
2455
|
+
"eu-central-2": "380420809688",
|
|
2456
|
+
"eu-north-1": "763104351884",
|
|
2457
|
+
"eu-south-1": "692866216735",
|
|
2458
|
+
"eu-south-2": "503227376785",
|
|
2459
|
+
"eu-west-1": "763104351884",
|
|
2460
|
+
"eu-west-2": "763104351884",
|
|
2461
|
+
"eu-west-3": "763104351884",
|
|
2462
|
+
"il-central-1": "780543022126",
|
|
2463
|
+
"me-central-1": "914824155844",
|
|
2464
|
+
"me-south-1": "217643126080",
|
|
2465
|
+
"sa-east-1": "763104351884",
|
|
2466
|
+
"us-east-1": "763104351884",
|
|
2467
|
+
"us-east-2": "763104351884",
|
|
2468
|
+
"us-gov-east-1": "446045086412",
|
|
2469
|
+
"us-gov-west-1": "442386744353",
|
|
2470
|
+
"us-west-1": "763104351884",
|
|
2471
|
+
"us-west-2": "763104351884"
|
|
2472
|
+
},
|
|
2473
|
+
"repository": "pytorch-training"
|
|
2432
2474
|
}
|
|
2433
2475
|
}
|
|
2434
2476
|
}
|
|
@@ -293,7 +293,8 @@ class JumpStartModelsCache:
|
|
|
293
293
|
raise KeyError(error_msg)
|
|
294
294
|
|
|
295
295
|
error_msg = f"Unable to find model manifest for '{model_id}' with version '{version}'. "
|
|
296
|
-
error_msg +=
|
|
296
|
+
error_msg += "Specify a different model ID or try a different AWS Region. "
|
|
297
|
+
error_msg += f"For a list of available models, see {MODEL_ID_LIST_WEB_URL}. "
|
|
297
298
|
|
|
298
299
|
other_model_id_version = None
|
|
299
300
|
if model_type == JumpStartModelType.OPEN_WEIGHTS:
|
|
@@ -32,8 +32,8 @@ NO_AVAILABLE_RESOURCE_REQUIREMENT_RECOMMENDATION_ERROR_MSG = (
|
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
INVALID_MODEL_ID_ERROR_MSG = (
|
|
35
|
-
"Invalid model ID: '{model_id}'.
|
|
36
|
-
f"
|
|
35
|
+
"Invalid model ID: '{model_id}'. Specify a different model ID or try a different AWS Region. "
|
|
36
|
+
f"For a list of available models, see {MODEL_ID_LIST_WEB_URL}. "
|
|
37
37
|
"The module `sagemaker.jumpstart.notebook_utils` contains utilities for "
|
|
38
38
|
"fetching model IDs. We recommend upgrading to the latest version of sagemaker "
|
|
39
39
|
"to get access to the most models."
|
|
@@ -50,7 +50,12 @@ from sagemaker.jumpstart.types import (
|
|
|
50
50
|
)
|
|
51
51
|
from sagemaker.session import Session
|
|
52
52
|
from sagemaker.config import load_sagemaker_config
|
|
53
|
-
from sagemaker.utils import
|
|
53
|
+
from sagemaker.utils import (
|
|
54
|
+
resolve_value_from_config,
|
|
55
|
+
TagsDict,
|
|
56
|
+
get_instance_rate_per_hour,
|
|
57
|
+
get_domain_for_region,
|
|
58
|
+
)
|
|
54
59
|
from sagemaker.workflow import is_pipeline_variable
|
|
55
60
|
from sagemaker.user_agent import get_user_agent_extra_suffix
|
|
56
61
|
|
|
@@ -553,7 +558,7 @@ def get_eula_message(model_specs: JumpStartModelSpecs, region: str) -> str:
|
|
|
553
558
|
return (
|
|
554
559
|
f"Model '{model_specs.model_id}' requires accepting end-user license agreement (EULA). "
|
|
555
560
|
f"See https://{get_jumpstart_content_bucket(region=region)}.s3.{region}."
|
|
556
|
-
f"
|
|
561
|
+
f"{get_domain_for_region(region)}"
|
|
557
562
|
f"/{model_specs.hosting_eula_key} for terms of use."
|
|
558
563
|
)
|
|
559
564
|
|
|
@@ -30,7 +30,6 @@ import sys
|
|
|
30
30
|
import tarfile
|
|
31
31
|
import tempfile
|
|
32
32
|
|
|
33
|
-
from distutils.spawn import find_executable
|
|
34
33
|
from threading import Thread
|
|
35
34
|
from typing import Dict, List
|
|
36
35
|
from six.moves.urllib.parse import urlparse
|
|
@@ -170,7 +169,7 @@ class _SageMakerContainer(object):
|
|
|
170
169
|
compose_cmd_prefix.extend(["docker", "compose"])
|
|
171
170
|
return compose_cmd_prefix
|
|
172
171
|
|
|
173
|
-
if
|
|
172
|
+
if shutil.which("docker-compose") is not None:
|
|
174
173
|
logger.info("'Docker Compose' found using Docker Compose CLI.")
|
|
175
174
|
compose_cmd_prefix.extend(["docker-compose"])
|
|
176
175
|
return compose_cmd_prefix
|
|
@@ -21,7 +21,6 @@ import json
|
|
|
21
21
|
import re
|
|
22
22
|
import errno
|
|
23
23
|
|
|
24
|
-
from distutils.dir_util import copy_tree
|
|
25
24
|
from six.moves.urllib.parse import urlparse
|
|
26
25
|
|
|
27
26
|
from sagemaker import s3
|
|
@@ -102,7 +101,7 @@ def move_to_destination(source, destination, job_name, sagemaker_session, prefix
|
|
|
102
101
|
|
|
103
102
|
|
|
104
103
|
def recursive_copy(source, destination):
|
|
105
|
-
"""A wrapper around
|
|
104
|
+
"""A wrapper around shutil.copy_tree.
|
|
106
105
|
|
|
107
106
|
This won't throw any exception when the source directory does not exist.
|
|
108
107
|
|
|
@@ -111,7 +110,7 @@ def recursive_copy(source, destination):
|
|
|
111
110
|
destination (str): destination path
|
|
112
111
|
"""
|
|
113
112
|
if os.path.isdir(source):
|
|
114
|
-
|
|
113
|
+
shutil.copytree(source, destination, dirs_exist_ok=True)
|
|
115
114
|
|
|
116
115
|
|
|
117
116
|
def kill_child_processes(pid):
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
+
# may not use this file except in compliance with the License. A copy of
|
|
5
|
+
# the License is located at
|
|
6
|
+
#
|
|
7
|
+
# http://aws.amazon.com/apache2.0/
|
|
8
|
+
#
|
|
9
|
+
# or in the "license" file accompanying this file. This file is
|
|
10
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
+
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
# language governing permissions and limitations under the License.
|
|
13
|
+
|
|
14
|
+
"""This module contains code related to forwarding SageMaker TrainingJob Metrics to MLflow."""
|
|
15
|
+
|
|
16
|
+
from __future__ import absolute_import
|
|
17
|
+
|
|
18
|
+
import os
|
|
19
|
+
import platform
|
|
20
|
+
import re
|
|
21
|
+
from typing import Set, Tuple, List, Dict, Generator
|
|
22
|
+
import boto3
|
|
23
|
+
import mlflow
|
|
24
|
+
from mlflow import MlflowClient
|
|
25
|
+
from mlflow.entities import Metric, Param, RunTag
|
|
26
|
+
|
|
27
|
+
from packaging import version
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def encode(name: str, existing_names: Set[str]) -> str:
|
|
31
|
+
"""Encode a string to comply with MLflow naming restrictions and ensure uniqueness.
|
|
32
|
+
|
|
33
|
+
Args:
|
|
34
|
+
name (str): The original string to be encoded.
|
|
35
|
+
existing_names (Set[str]): Set of existing encoded names to avoid collisions.
|
|
36
|
+
|
|
37
|
+
Returns:
|
|
38
|
+
str: The encoded string if changes were necessary, otherwise the original string.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
def encode_char(match):
|
|
42
|
+
return f"_{ord(match.group(0)):02x}_"
|
|
43
|
+
|
|
44
|
+
# Check if we're on Mac/Unix and using MLflow 2.16.0 or greater
|
|
45
|
+
is_unix = platform.system() != "Windows"
|
|
46
|
+
mlflow_version = version.parse(mlflow.__version__)
|
|
47
|
+
allow_colon = is_unix and mlflow_version >= version.parse("2.16.0")
|
|
48
|
+
|
|
49
|
+
if allow_colon:
|
|
50
|
+
pattern = r"[^\w\-./:\s]"
|
|
51
|
+
else:
|
|
52
|
+
pattern = r"[^\w\-./\s]"
|
|
53
|
+
|
|
54
|
+
encoded = re.sub(pattern, encode_char, name)
|
|
55
|
+
base_name = encoded[:240] # Leave room for potential suffix to accommodate duplicates
|
|
56
|
+
|
|
57
|
+
if base_name in existing_names:
|
|
58
|
+
suffix = 1
|
|
59
|
+
# Edge case where even with suffix space there is a collision
|
|
60
|
+
# we will override one of the keys.
|
|
61
|
+
while f"{base_name}_{suffix}" in existing_names:
|
|
62
|
+
suffix += 1
|
|
63
|
+
encoded = f"{base_name}_{suffix}"
|
|
64
|
+
|
|
65
|
+
# Max length is 250 for mlflow metric/params
|
|
66
|
+
encoded = encoded[:250]
|
|
67
|
+
|
|
68
|
+
existing_names.add(encoded)
|
|
69
|
+
return encoded
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def decode(encoded_metric_name: str) -> str:
|
|
73
|
+
"""Decodes an encoded metric name by replacing hexadecimal representations with ASCII
|
|
74
|
+
|
|
75
|
+
This function reverses the encoding process by converting hexadecimal codes
|
|
76
|
+
back to their original characters. It looks for patterns of the form "_XX_"
|
|
77
|
+
where XX is a two-digit hexadecimal code, and replaces them with the
|
|
78
|
+
corresponding ASCII character.
|
|
79
|
+
|
|
80
|
+
Args:
|
|
81
|
+
encoded_metric_name (str): The encoded metric name to be decoded.
|
|
82
|
+
|
|
83
|
+
Returns:
|
|
84
|
+
str: The decoded metric name with hexadecimal codes replaced by their
|
|
85
|
+
corresponding characters.
|
|
86
|
+
|
|
87
|
+
Example:
|
|
88
|
+
>>> decode("loss_3a_val")
|
|
89
|
+
"loss:val"
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
def replace_code(match):
|
|
93
|
+
code = match.group(1)
|
|
94
|
+
return chr(int(code, 16))
|
|
95
|
+
|
|
96
|
+
# Replace encoded characters
|
|
97
|
+
decoded = re.sub(r"_([0-9a-f]{2})_", replace_code, encoded_metric_name)
|
|
98
|
+
|
|
99
|
+
return decoded
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
def get_training_job_details(job_arn: str) -> dict:
|
|
103
|
+
"""Retrieve details of a SageMaker training job.
|
|
104
|
+
|
|
105
|
+
Args:
|
|
106
|
+
job_arn (str): The ARN of the SageMaker training job.
|
|
107
|
+
|
|
108
|
+
Returns:
|
|
109
|
+
dict: A dictionary containing the details of the training job.
|
|
110
|
+
|
|
111
|
+
Raises:
|
|
112
|
+
boto3.exceptions.Boto3Error: If there's an issue with the AWS API call.
|
|
113
|
+
"""
|
|
114
|
+
sagemaker_client = boto3.client("sagemaker")
|
|
115
|
+
job_name = job_arn.split("/")[-1]
|
|
116
|
+
return sagemaker_client.describe_training_job(TrainingJobName=job_name)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def create_metric_queries(job_arn: str, metric_definitions: list) -> list:
|
|
120
|
+
"""Create metric queries for SageMaker metrics.
|
|
121
|
+
|
|
122
|
+
Args:
|
|
123
|
+
job_arn (str): The ARN of the SageMaker training job.
|
|
124
|
+
metric_definitions (list): List of metric definitions from the training job.
|
|
125
|
+
|
|
126
|
+
Returns:
|
|
127
|
+
list: A list of dictionaries, each representing a metric query.
|
|
128
|
+
"""
|
|
129
|
+
metric_queries = []
|
|
130
|
+
for metric in metric_definitions:
|
|
131
|
+
query = {
|
|
132
|
+
"MetricName": metric["Name"],
|
|
133
|
+
"XAxisType": "Timestamp",
|
|
134
|
+
"MetricStat": "Avg",
|
|
135
|
+
"Period": "OneMinute",
|
|
136
|
+
"ResourceArn": job_arn,
|
|
137
|
+
}
|
|
138
|
+
metric_queries.append(query)
|
|
139
|
+
return metric_queries
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def get_metric_data(metric_queries: list) -> dict:
|
|
143
|
+
"""Retrieve metric data from SageMaker.
|
|
144
|
+
|
|
145
|
+
Args:
|
|
146
|
+
metric_queries (list): A list of metric queries.
|
|
147
|
+
|
|
148
|
+
Returns:
|
|
149
|
+
dict: A dictionary containing the metric data results.
|
|
150
|
+
|
|
151
|
+
Raises:
|
|
152
|
+
boto3.exceptions.Boto3Error: If there's an issue with the AWS API call.
|
|
153
|
+
"""
|
|
154
|
+
sagemaker_metrics_client = boto3.client("sagemaker-metrics")
|
|
155
|
+
metric_data = sagemaker_metrics_client.batch_get_metrics(MetricQueries=metric_queries)
|
|
156
|
+
return metric_data
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
def prepare_mlflow_metrics(
|
|
160
|
+
metric_queries: list, metric_results: list
|
|
161
|
+
) -> Tuple[List[Metric], Dict[str, str]]:
|
|
162
|
+
"""Prepare metrics for MLflow logging, encoding metric names if necessary.
|
|
163
|
+
|
|
164
|
+
Args:
|
|
165
|
+
metric_queries (list): The original metric queries sent to SageMaker.
|
|
166
|
+
metric_results (list): The metric results from SageMaker batch_get_metrics.
|
|
167
|
+
|
|
168
|
+
Returns:
|
|
169
|
+
Tuple[List[Metric], Dict[str, str]]:
|
|
170
|
+
- A list of Metric objects with encoded names (if necessary)
|
|
171
|
+
- A mapping of encoded to original names for metrics (only for encoded metrics)
|
|
172
|
+
"""
|
|
173
|
+
mlflow_metrics = []
|
|
174
|
+
metric_name_mapping = {}
|
|
175
|
+
existing_names = set()
|
|
176
|
+
|
|
177
|
+
for query, result in zip(metric_queries, metric_results):
|
|
178
|
+
if result["Status"] == "Complete":
|
|
179
|
+
metric_name = query["MetricName"]
|
|
180
|
+
encoded_name = encode(metric_name, existing_names)
|
|
181
|
+
metric_name_mapping[encoded_name] = metric_name
|
|
182
|
+
|
|
183
|
+
for step, (timestamp, value) in enumerate(
|
|
184
|
+
zip(result["XAxisValues"], result["MetricValues"])
|
|
185
|
+
):
|
|
186
|
+
metric = Metric(key=encoded_name, value=value, timestamp=timestamp, step=step)
|
|
187
|
+
mlflow_metrics.append(metric)
|
|
188
|
+
|
|
189
|
+
return mlflow_metrics, metric_name_mapping
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
def prepare_mlflow_params(hyperparameters: Dict[str, str]) -> Tuple[List[Param], Dict[str, str]]:
|
|
193
|
+
"""Prepare hyperparameters for MLflow logging, encoding parameter names if necessary.
|
|
194
|
+
|
|
195
|
+
Args:
|
|
196
|
+
hyperparameters (Dict[str, str]): The hyperparameters from the SageMaker job.
|
|
197
|
+
|
|
198
|
+
Returns:
|
|
199
|
+
Tuple[List[Param], Dict[str, str]]:
|
|
200
|
+
- A list of Param objects with encoded names (if necessary)
|
|
201
|
+
- A mapping of encoded to original names for
|
|
202
|
+
hyperparameters (only for encoded parameters)
|
|
203
|
+
"""
|
|
204
|
+
mlflow_params = []
|
|
205
|
+
param_name_mapping = {}
|
|
206
|
+
existing_names = set()
|
|
207
|
+
|
|
208
|
+
for key, value in hyperparameters.items():
|
|
209
|
+
encoded_key = encode(key, existing_names)
|
|
210
|
+
param_name_mapping[encoded_key] = key
|
|
211
|
+
mlflow_params.append(Param(encoded_key, str(value)))
|
|
212
|
+
|
|
213
|
+
return mlflow_params, param_name_mapping
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
def batch_items(items: list, batch_size: int) -> Generator:
|
|
217
|
+
"""Yield successive batch_size chunks from items.
|
|
218
|
+
|
|
219
|
+
Args:
|
|
220
|
+
items (list): The list of items to be batched.
|
|
221
|
+
batch_size (int): The size of each batch.
|
|
222
|
+
|
|
223
|
+
Yields:
|
|
224
|
+
list: A batch of items.
|
|
225
|
+
"""
|
|
226
|
+
for i in range(0, len(items), batch_size):
|
|
227
|
+
yield items[i : i + batch_size]
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
def log_to_mlflow(metrics: list, params: list, tags: dict) -> None:
|
|
231
|
+
"""Log metrics, parameters, and tags to MLflow.
|
|
232
|
+
|
|
233
|
+
Args:
|
|
234
|
+
metrics (list): List of metrics to log.
|
|
235
|
+
params (list): List of parameters to log.
|
|
236
|
+
tags (dict): Dictionary of tags to set.
|
|
237
|
+
|
|
238
|
+
Raises:
|
|
239
|
+
mlflow.exceptions.MlflowException: If there's an issue with MLflow logging.
|
|
240
|
+
"""
|
|
241
|
+
client = MlflowClient()
|
|
242
|
+
|
|
243
|
+
experiment_name = os.getenv("MLFLOW_EXPERIMENT_NAME")
|
|
244
|
+
if experiment_name is None or experiment_name.strip() == "":
|
|
245
|
+
experiment_name = "Default"
|
|
246
|
+
print("MLFLOW_EXPERIMENT_NAME not set. Using Default")
|
|
247
|
+
|
|
248
|
+
experiment = client.get_experiment_by_name(experiment_name)
|
|
249
|
+
if experiment is None:
|
|
250
|
+
experiment_id = client.create_experiment(experiment_name)
|
|
251
|
+
else:
|
|
252
|
+
experiment_id = experiment.experiment_id
|
|
253
|
+
|
|
254
|
+
run = client.create_run(experiment_id)
|
|
255
|
+
|
|
256
|
+
for metric_batch in batch_items(metrics, 1000):
|
|
257
|
+
client.log_batch(
|
|
258
|
+
run.info.run_id,
|
|
259
|
+
metrics=metric_batch,
|
|
260
|
+
)
|
|
261
|
+
for param_batch in batch_items(params, 1000):
|
|
262
|
+
client.log_batch(run.info.run_id, params=param_batch)
|
|
263
|
+
|
|
264
|
+
tag_items = list(tags.items())
|
|
265
|
+
for tag_batch in batch_items(tag_items, 1000):
|
|
266
|
+
tag_objects = [RunTag(key, str(value)) for key, value in tag_batch]
|
|
267
|
+
client.log_batch(run.info.run_id, tags=tag_objects)
|
|
268
|
+
client.set_terminated(run.info.run_id)
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
def log_sagemaker_job_to_mlflow(training_job_arn: str) -> None:
|
|
272
|
+
"""Retrieve SageMaker metrics and hyperparameters and log them to MLflow.
|
|
273
|
+
|
|
274
|
+
Args:
|
|
275
|
+
training_job_arn (str): The ARN of the SageMaker training job.
|
|
276
|
+
|
|
277
|
+
Raises:
|
|
278
|
+
Exception: If there's any error during the process.
|
|
279
|
+
"""
|
|
280
|
+
# Get training job details
|
|
281
|
+
mlflow.set_tracking_uri(os.getenv("MLFLOW_TRACKING_URI"))
|
|
282
|
+
job_details = get_training_job_details(training_job_arn)
|
|
283
|
+
|
|
284
|
+
# Extract hyperparameters and metric definitions
|
|
285
|
+
hyperparameters = job_details["HyperParameters"]
|
|
286
|
+
metric_definitions = job_details["AlgorithmSpecification"]["MetricDefinitions"]
|
|
287
|
+
|
|
288
|
+
# Create and get metric queries
|
|
289
|
+
metric_queries = create_metric_queries(job_details["TrainingJobArn"], metric_definitions)
|
|
290
|
+
metric_data = get_metric_data(metric_queries)
|
|
291
|
+
|
|
292
|
+
# Create a mapping of encoded to original metric names
|
|
293
|
+
# Prepare data for MLflow
|
|
294
|
+
mlflow_metrics, metric_name_mapping = prepare_mlflow_metrics(
|
|
295
|
+
metric_queries, metric_data["MetricQueryResults"]
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
# Create a mapping of encoded to original hyperparameter names
|
|
299
|
+
# Prepare data for MLflow
|
|
300
|
+
mlflow_params, param_name_mapping = prepare_mlflow_params(hyperparameters)
|
|
301
|
+
|
|
302
|
+
mlflow_tags = {
|
|
303
|
+
"training_job_arn": training_job_arn,
|
|
304
|
+
"metric_name_mapping": str(metric_name_mapping),
|
|
305
|
+
"param_name_mapping": str(param_name_mapping),
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
# Log to MLflow
|
|
309
|
+
log_to_mlflow(mlflow_metrics, mlflow_params, mlflow_tags)
|
|
310
|
+
print(f"Logged {len(mlflow_metrics)} metric datapoints to MLflow")
|
|
311
|
+
print(f"Logged {len(mlflow_params)} hyperparameters to MLflow")
|
|
@@ -52,6 +52,15 @@ from sagemaker.session_settings import SessionSettings
|
|
|
52
52
|
from sagemaker.workflow import is_pipeline_variable, is_pipeline_parameter_string
|
|
53
53
|
from sagemaker.workflow.entities import PipelineVariable
|
|
54
54
|
|
|
55
|
+
ALTERNATE_DOMAINS = {
|
|
56
|
+
"cn-north-1": "amazonaws.com.cn",
|
|
57
|
+
"cn-northwest-1": "amazonaws.com.cn",
|
|
58
|
+
"us-iso-east-1": "c2s.ic.gov",
|
|
59
|
+
"us-isob-east-1": "sc2s.sgov.gov",
|
|
60
|
+
"us-isof-south-1": "csp.hci.ic.gov",
|
|
61
|
+
"us-isof-east-1": "csp.hci.ic.gov",
|
|
62
|
+
}
|
|
63
|
+
|
|
55
64
|
ECR_URI_PATTERN = r"^(\d+)(\.)dkr(\.)ecr(\.)(.+)(\.)(.*)(/)(.*:.*)$"
|
|
56
65
|
MODEL_PACKAGE_ARN_PATTERN = (
|
|
57
66
|
r"arn:aws([a-z\-]*)?:sagemaker:([a-z0-9\-]*):([0-9]{12}):model-package/(.*)"
|
|
@@ -1905,3 +1914,12 @@ def remove_tag_with_key(key: str, tags: Optional[Tags]) -> Optional[Tags]:
|
|
|
1905
1914
|
if len(updated_tags) == 1:
|
|
1906
1915
|
return updated_tags[0]
|
|
1907
1916
|
return updated_tags
|
|
1917
|
+
|
|
1918
|
+
|
|
1919
|
+
def get_domain_for_region(region: str) -> str:
|
|
1920
|
+
"""Returns the domain for the given region.
|
|
1921
|
+
|
|
1922
|
+
Args:
|
|
1923
|
+
region (str): AWS region name.
|
|
1924
|
+
"""
|
|
1925
|
+
return ALTERNATE_DOMAINS.get(region, "amazonaws.com")
|
|
@@ -27,13 +27,6 @@ import tempfile
|
|
|
27
27
|
# is unpacked for inference, the custom entry point will be used.
|
|
28
28
|
# Reference: https://docs.aws.amazon.com/sagemaker/latest/dg/amazon-sagemaker-toolkits.html
|
|
29
29
|
|
|
30
|
-
# distutils.dir_util.copy_tree works way better than the half-baked
|
|
31
|
-
# shutil.copytree which bombs on previously existing target dirs...
|
|
32
|
-
# alas ... https://bugs.python.org/issue10948
|
|
33
|
-
# we'll go ahead and use the copy_tree function anyways because this
|
|
34
|
-
# repacking is some short-lived hackery, right??
|
|
35
|
-
from distutils.dir_util import copy_tree
|
|
36
|
-
|
|
37
30
|
from os.path import abspath, realpath, dirname, normpath, join as joinpath
|
|
38
31
|
|
|
39
32
|
logger = logging.getLogger(__name__)
|
|
@@ -188,7 +181,7 @@ def repack(inference_script, model_archive, dependencies=None, source_dir=None):
|
|
|
188
181
|
|
|
189
182
|
# copy the "src" dir, which includes the previous training job's model and the
|
|
190
183
|
# custom inference script, to the output of this training job
|
|
191
|
-
|
|
184
|
+
shutil.copytree(src_dir, "/opt/ml/model", dirs_exist_ok=True)
|
|
192
185
|
|
|
193
186
|
|
|
194
187
|
if __name__ == "__main__": # pragma: no cover
|
sagemaker-2.232.1/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.232.1
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sagemaker-2.232.1 → sagemaker-2.232.2}/requirements/extras/feature-processor_requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|