sagemaker-core 1.0.62__py3-none-any.whl → 2.1.1__py3-none-any.whl
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/core/__init__.py +16 -0
- sagemaker/core/_studio.py +116 -0
- sagemaker/core/_version.py +11 -0
- sagemaker/core/accept_types.py +131 -0
- sagemaker/core/analytics.py +744 -0
- sagemaker/core/apiutils/__init__.py +13 -0
- sagemaker/core/apiutils/_base_types.py +228 -0
- sagemaker/core/apiutils/_boto_functions.py +130 -0
- sagemaker/core/apiutils/_utils.py +34 -0
- sagemaker/core/base_deserializers.py +35 -0
- sagemaker/core/base_serializers.py +35 -0
- sagemaker/core/clarify/__init__.py +2898 -0
- sagemaker/core/collection.py +467 -0
- sagemaker/core/common_utils.py +2281 -0
- sagemaker/core/compute_resource_requirements/__init__.py +18 -0
- sagemaker/core/compute_resource_requirements/resource_requirements.py +94 -0
- sagemaker/core/config/__init__.py +181 -0
- sagemaker/core/config/config.py +238 -0
- sagemaker/core/config/config_manager.py +595 -0
- sagemaker/core/config/config_schema.py +1220 -0
- sagemaker/core/config/config_utils.py +297 -0
- {sagemaker_core/main → sagemaker/core}/config_schema.py +408 -3
- sagemaker/core/constants.py +73 -0
- sagemaker/core/content_types.py +137 -0
- sagemaker/core/debugger/__init__.py +39 -0
- sagemaker/core/debugger/debugger.py +945 -0
- sagemaker/core/debugger/framework_profile.py +292 -0
- sagemaker/core/debugger/metrics_config.py +468 -0
- sagemaker/core/debugger/profiler.py +42 -0
- sagemaker/core/debugger/profiler_config.py +190 -0
- sagemaker/core/debugger/profiler_constants.py +40 -0
- sagemaker/core/debugger/utils.py +148 -0
- sagemaker/core/deprecations.py +254 -0
- sagemaker/core/deserializers/__init__.py +10 -0
- sagemaker/core/deserializers/base.py +424 -0
- sagemaker/core/deserializers/implementations.py +157 -0
- sagemaker/core/drift_check_baselines.py +106 -0
- sagemaker/core/enums.py +51 -0
- sagemaker/core/environment_variables.py +101 -0
- sagemaker/core/exceptions.py +108 -0
- sagemaker/core/experiments/__init__.py +53 -0
- sagemaker/core/experiments/_api_types.py +251 -0
- sagemaker/core/experiments/_environment.py +124 -0
- sagemaker/core/experiments/_helper.py +294 -0
- sagemaker/core/experiments/_metrics.py +333 -0
- sagemaker/core/experiments/_run_context.py +58 -0
- sagemaker/core/experiments/_utils.py +216 -0
- sagemaker/core/experiments/experiment.py +244 -0
- sagemaker/core/experiments/run.py +970 -0
- sagemaker/core/experiments/trial.py +296 -0
- sagemaker/core/experiments/trial_component.py +387 -0
- sagemaker/core/explainer/__init__.py +24 -0
- sagemaker/core/explainer/clarify_explainer_config.py +298 -0
- sagemaker/core/explainer/explainer_config.py +44 -0
- sagemaker/core/fw_utils.py +1176 -0
- sagemaker/core/git_utils.py +349 -0
- sagemaker/core/helper/pipeline_variable.py +82 -0
- sagemaker/core/helper/session_helper.py +2965 -0
- sagemaker/core/huggingface/__init__.py +29 -0
- sagemaker/core/huggingface/llm_utils.py +150 -0
- sagemaker/core/huggingface/processing.py +139 -0
- sagemaker/core/huggingface/training_compiler/config.py +167 -0
- sagemaker/core/hyperparameters.py +172 -0
- sagemaker/core/image_retriever/__init__.py +3 -0
- sagemaker/core/image_retriever/image_retriever.py +640 -0
- sagemaker/core/image_retriever/image_retriever_utils.py +511 -0
- sagemaker/core/image_retriever/test.py +7 -0
- sagemaker/core/image_uri_config/__init__.py +13 -0
- sagemaker/core/image_uri_config/autogluon.json +1335 -0
- sagemaker/core/image_uri_config/blazingtext.json +50 -0
- sagemaker/core/image_uri_config/chainer.json +104 -0
- sagemaker/core/image_uri_config/clarify.json +39 -0
- sagemaker/core/image_uri_config/coach-mxnet.json +70 -0
- sagemaker/core/image_uri_config/coach-tensorflow.json +186 -0
- sagemaker/core/image_uri_config/data-wrangler.json +91 -0
- sagemaker/core/image_uri_config/debugger.json +34 -0
- sagemaker/core/image_uri_config/detailed-profiler.json +18 -0
- sagemaker/core/image_uri_config/djl-deepspeed.json +385 -0
- sagemaker/core/image_uri_config/djl-fastertransformer.json +167 -0
- sagemaker/core/image_uri_config/djl-lmi.json +136 -0
- sagemaker/core/image_uri_config/djl-neuronx.json +258 -0
- sagemaker/core/image_uri_config/djl-tensorrtllm.json +262 -0
- sagemaker/core/image_uri_config/factorization-machines.json +50 -0
- sagemaker/core/image_uri_config/forecasting-deepar.json +50 -0
- sagemaker/core/image_uri_config/huggingface-llm-neuronx.json +660 -0
- sagemaker/core/image_uri_config/huggingface-llm.json +1158 -0
- sagemaker/core/image_uri_config/huggingface-neuron.json +52 -0
- sagemaker/core/image_uri_config/huggingface-neuronx.json +510 -0
- sagemaker/core/image_uri_config/huggingface-tei-cpu.json +298 -0
- sagemaker/core/image_uri_config/huggingface-tei.json +298 -0
- sagemaker/core/image_uri_config/huggingface-training-compiler.json +195 -0
- sagemaker/core/image_uri_config/huggingface.json +2138 -0
- sagemaker/core/image_uri_config/hyperpod-recipes-neuron.json +52 -0
- sagemaker/core/image_uri_config/image-classification-neo.json +43 -0
- sagemaker/core/image_uri_config/image-classification.json +50 -0
- sagemaker/core/image_uri_config/inferentia-mxnet.json +88 -0
- sagemaker/core/image_uri_config/inferentia-pytorch.json +127 -0
- sagemaker/core/image_uri_config/inferentia-tensorflow.json +88 -0
- sagemaker/core/image_uri_config/instance_gpu_info.json +782 -0
- sagemaker/core/image_uri_config/ipinsights.json +50 -0
- sagemaker/core/image_uri_config/kmeans.json +50 -0
- sagemaker/core/image_uri_config/knn.json +50 -0
- sagemaker/core/image_uri_config/lda.json +26 -0
- sagemaker/core/image_uri_config/linear-learner.json +50 -0
- sagemaker/core/image_uri_config/model-monitor.json +42 -0
- sagemaker/core/image_uri_config/mxnet.json +1154 -0
- sagemaker/core/image_uri_config/neo-mxnet.json +64 -0
- sagemaker/core/image_uri_config/neo-pytorch.json +341 -0
- sagemaker/core/image_uri_config/neo-tensorflow.json +109 -0
- sagemaker/core/image_uri_config/ntm.json +50 -0
- sagemaker/core/image_uri_config/object-detection.json +50 -0
- sagemaker/core/image_uri_config/object2vec.json +50 -0
- sagemaker/core/image_uri_config/pca.json +50 -0
- sagemaker/core/image_uri_config/pytorch-neuron.json +43 -0
- sagemaker/core/image_uri_config/pytorch-smp.json +218 -0
- sagemaker/core/image_uri_config/pytorch-training-compiler.json +80 -0
- sagemaker/core/image_uri_config/pytorch.json +3101 -0
- sagemaker/core/image_uri_config/randomcutforest.json +50 -0
- sagemaker/core/image_uri_config/ray-pytorch.json +46 -0
- sagemaker/core/image_uri_config/ray-tensorflow.json +194 -0
- sagemaker/core/image_uri_config/sagemaker-base-python.json +46 -0
- sagemaker/core/image_uri_config/sagemaker-distribution.json +37 -0
- sagemaker/core/image_uri_config/sagemaker-geospatial.json +13 -0
- sagemaker/core/image_uri_config/sagemaker-tritonserver.json +212 -0
- sagemaker/core/image_uri_config/semantic-segmentation.json +50 -0
- sagemaker/core/image_uri_config/seq2seq.json +50 -0
- sagemaker/core/image_uri_config/sklearn.json +446 -0
- sagemaker/core/image_uri_config/spark.json +280 -0
- sagemaker/core/image_uri_config/sparkml-serving.json +97 -0
- sagemaker/core/image_uri_config/stabilityai.json +53 -0
- sagemaker/core/image_uri_config/tensorflow.json +5086 -0
- sagemaker/core/image_uri_config/vw.json +25 -0
- sagemaker/core/image_uri_config/xgboost-neo.json +43 -0
- sagemaker/core/image_uri_config/xgboost.json +888 -0
- sagemaker/core/image_uris.py +810 -0
- sagemaker/core/inference_config.py +144 -0
- sagemaker/core/inference_recommender/__init__.py +18 -0
- sagemaker/core/inference_recommender/inference_recommender_mixin.py +622 -0
- sagemaker/core/inputs.py +366 -0
- sagemaker/core/instance_group.py +61 -0
- sagemaker/core/instance_types.py +164 -0
- sagemaker/core/instance_types_gpu_info.py +43 -0
- sagemaker/core/interactive_apps/__init__.py +41 -0
- sagemaker/core/interactive_apps/base_interactive_app.py +204 -0
- sagemaker/core/interactive_apps/detail_profiler_app.py +139 -0
- sagemaker/core/interactive_apps/tensorboard.py +149 -0
- sagemaker/core/iterators.py +186 -0
- sagemaker/core/job.py +380 -0
- sagemaker/core/jumpstart/__init__.py +156 -0
- sagemaker/core/jumpstart/accessors.py +390 -0
- sagemaker/core/jumpstart/artifacts/__init__.py +69 -0
- sagemaker/core/jumpstart/artifacts/environment_variables.py +252 -0
- sagemaker/core/jumpstart/artifacts/hyperparameters.py +120 -0
- sagemaker/core/jumpstart/artifacts/image_uris.py +139 -0
- sagemaker/core/jumpstart/artifacts/incremental_training.py +87 -0
- sagemaker/core/jumpstart/artifacts/instance_types.py +223 -0
- sagemaker/core/jumpstart/artifacts/kwargs.py +289 -0
- sagemaker/core/jumpstart/artifacts/metric_definitions.py +117 -0
- sagemaker/core/jumpstart/artifacts/model_packages.py +202 -0
- sagemaker/core/jumpstart/artifacts/model_uris.py +252 -0
- sagemaker/core/jumpstart/artifacts/payloads.py +96 -0
- sagemaker/core/jumpstart/artifacts/predictors.py +540 -0
- sagemaker/core/jumpstart/artifacts/resource_names.py +86 -0
- sagemaker/core/jumpstart/artifacts/resource_requirements.py +162 -0
- sagemaker/core/jumpstart/artifacts/script_uris.py +172 -0
- sagemaker/core/jumpstart/cache.py +663 -0
- sagemaker/core/jumpstart/configs.py +50 -0
- sagemaker/core/jumpstart/constants.py +198 -0
- sagemaker/core/jumpstart/deserializers.py +81 -0
- sagemaker/core/jumpstart/document.py +76 -0
- sagemaker/core/jumpstart/enums.py +168 -0
- sagemaker/core/jumpstart/exceptions.py +236 -0
- sagemaker/core/jumpstart/factory/utils.py +833 -0
- sagemaker/core/jumpstart/filters.py +597 -0
- sagemaker/core/jumpstart/hub/constants.py +16 -0
- sagemaker/core/jumpstart/hub/hub.py +291 -0
- sagemaker/core/jumpstart/hub/interfaces.py +936 -0
- sagemaker/core/jumpstart/hub/parser_utils.py +70 -0
- sagemaker/core/jumpstart/hub/parsers.py +288 -0
- sagemaker/core/jumpstart/hub/types.py +35 -0
- sagemaker/core/jumpstart/hub/utils.py +260 -0
- sagemaker/core/jumpstart/models.py +499 -0
- sagemaker/core/jumpstart/notebook_utils.py +575 -0
- sagemaker/core/jumpstart/parameters.py +20 -0
- sagemaker/core/jumpstart/payload_utils.py +239 -0
- sagemaker/core/jumpstart/region_config.json +163 -0
- sagemaker/core/jumpstart/search.py +171 -0
- sagemaker/core/jumpstart/serializers.py +81 -0
- sagemaker/core/jumpstart/session_utils.py +234 -0
- sagemaker/core/jumpstart/types.py +3044 -0
- sagemaker/core/jumpstart/utils.py +1731 -0
- sagemaker/core/jumpstart/validators.py +257 -0
- sagemaker/core/lambda_helper.py +312 -0
- sagemaker/core/lineage/__init__.py +42 -0
- sagemaker/core/lineage/_api_types.py +239 -0
- sagemaker/core/lineage/_utils.py +49 -0
- sagemaker/core/lineage/action.py +345 -0
- sagemaker/core/lineage/artifact.py +646 -0
- sagemaker/core/lineage/association.py +190 -0
- sagemaker/core/lineage/context.py +505 -0
- sagemaker/core/lineage/lineage_trial_component.py +191 -0
- sagemaker/core/lineage/query.py +732 -0
- sagemaker/core/lineage/visualizer.py +346 -0
- sagemaker/core/local/__init__.py +18 -0
- sagemaker/core/local/data.py +413 -0
- sagemaker/core/local/entities.py +678 -0
- sagemaker/core/local/exceptions.py +17 -0
- sagemaker/core/local/image.py +1243 -0
- sagemaker/core/local/local_session.py +739 -0
- sagemaker/core/local/utils.py +245 -0
- sagemaker/core/logs.py +181 -0
- sagemaker/core/metadata_properties.py +56 -0
- sagemaker/core/metric_definitions.py +91 -0
- sagemaker/core/mlflow/__init__.py +38 -0
- sagemaker/core/mlflow/forward_sagemaker_metrics.py +44 -0
- sagemaker/core/model_card/__init__.py +26 -0
- sagemaker/core/model_life_cycle.py +51 -0
- sagemaker/core/model_metrics.py +160 -0
- sagemaker/core/model_monitor/__init__.py +66 -0
- sagemaker/core/model_monitor/clarify_model_monitoring.py +1495 -0
- sagemaker/core/model_monitor/cron_expression_generator.py +82 -0
- sagemaker/core/model_monitor/data_capture_config.py +115 -0
- sagemaker/core/model_monitor/data_quality_monitoring_config.py +66 -0
- sagemaker/core/model_monitor/dataset_format.py +102 -0
- sagemaker/core/model_monitor/model_monitoring.py +4266 -0
- sagemaker/core/model_monitor/monitoring_alert.py +76 -0
- sagemaker/core/model_monitor/monitoring_files.py +506 -0
- sagemaker/core/model_monitor/utils.py +793 -0
- sagemaker/core/model_registry.py +480 -0
- sagemaker/core/model_uris.py +97 -0
- sagemaker/core/modules/__init__.py +19 -0
- sagemaker/core/modules/configs.py +226 -0
- sagemaker/core/modules/constants.py +37 -0
- sagemaker/core/modules/distributed.py +182 -0
- sagemaker/core/modules/local_core/__init__.py +0 -0
- sagemaker/core/modules/local_core/local_container.py +605 -0
- sagemaker/core/modules/templates.py +83 -0
- sagemaker/core/modules/train/__init__.py +14 -0
- sagemaker/core/modules/train/container_drivers/__init__.py +14 -0
- sagemaker/core/modules/train/container_drivers/common/__init__.py +14 -0
- sagemaker/core/modules/train/container_drivers/common/utils.py +213 -0
- sagemaker/core/modules/train/container_drivers/distributed_drivers/__init__.py +14 -0
- sagemaker/core/modules/train/container_drivers/distributed_drivers/basic_script_driver.py +81 -0
- sagemaker/core/modules/train/container_drivers/distributed_drivers/mpi_driver.py +123 -0
- sagemaker/core/modules/train/container_drivers/distributed_drivers/mpi_utils.py +302 -0
- sagemaker/core/modules/train/container_drivers/distributed_drivers/torchrun_driver.py +129 -0
- sagemaker/core/modules/train/container_drivers/scripts/__init__.py +14 -0
- sagemaker/core/modules/train/container_drivers/scripts/environment.py +305 -0
- sagemaker/core/modules/train/sm_recipes/__init__.py +0 -0
- sagemaker/core/modules/train/sm_recipes/utils.py +330 -0
- sagemaker/core/modules/types.py +19 -0
- sagemaker/core/modules/utils.py +194 -0
- sagemaker/core/network.py +185 -0
- sagemaker/core/parameter.py +173 -0
- sagemaker/core/payloads.py +185 -0
- sagemaker/core/processing.py +1597 -0
- sagemaker/core/remote_function/__init__.py +19 -0
- sagemaker/core/remote_function/checkpoint_location.py +47 -0
- sagemaker/core/remote_function/client.py +1285 -0
- sagemaker/core/remote_function/core/__init__.py +0 -0
- sagemaker/core/remote_function/core/_custom_dispatch_table.py +72 -0
- sagemaker/core/remote_function/core/pipeline_variables.py +353 -0
- sagemaker/core/remote_function/core/serialization.py +422 -0
- sagemaker/core/remote_function/core/stored_function.py +226 -0
- sagemaker/core/remote_function/custom_file_filter.py +128 -0
- sagemaker/core/remote_function/errors.py +104 -0
- sagemaker/core/remote_function/invoke_function.py +172 -0
- sagemaker/core/remote_function/job.py +2140 -0
- sagemaker/core/remote_function/logging_config.py +38 -0
- sagemaker/core/remote_function/runtime_environment/__init__.py +14 -0
- sagemaker/core/remote_function/runtime_environment/bootstrap_runtime_environment.py +605 -0
- sagemaker/core/remote_function/runtime_environment/mpi_utils_remote.py +252 -0
- sagemaker/core/remote_function/runtime_environment/runtime_environment_manager.py +554 -0
- sagemaker/core/remote_function/runtime_environment/spark_app.py +18 -0
- sagemaker/core/remote_function/spark_config.py +149 -0
- sagemaker/core/resource_requirements.py +168 -0
- {sagemaker_core/main → sagemaker/core}/resources.py +19098 -10895
- sagemaker/core/s3/__init__.py +41 -0
- sagemaker/core/s3/client.py +367 -0
- sagemaker/core/s3/utils.py +175 -0
- sagemaker/core/script_uris.py +93 -0
- sagemaker/core/serializers/__init__.py +11 -0
- sagemaker/core/serializers/base.py +510 -0
- sagemaker/core/serializers/implementations.py +159 -0
- sagemaker/core/serializers/utils.py +223 -0
- sagemaker/core/serverless_inference_config.py +63 -0
- sagemaker/core/session_settings.py +55 -0
- sagemaker/core/shapes/__init__.py +3 -0
- sagemaker/core/shapes/model_card_shapes.py +159 -0
- {sagemaker_core/main → sagemaker/core/shapes}/shapes.py +5810 -1806
- sagemaker/core/spark/__init__.py +16 -0
- sagemaker/core/spark/defaults.py +16 -0
- sagemaker/core/spark/processing.py +1380 -0
- sagemaker/core/telemetry/__init__.py +23 -0
- sagemaker/core/telemetry/constants.py +84 -0
- sagemaker/core/telemetry/telemetry_logging.py +284 -0
- sagemaker/core/tools/__init__.py +1 -0
- {sagemaker_core → sagemaker/core}/tools/codegen.py +4 -4
- {sagemaker_core → sagemaker/core}/tools/constants.py +23 -15
- {sagemaker_core → sagemaker/core}/tools/data_extractor.py +1 -1
- {sagemaker_core → sagemaker/core}/tools/method.py +1 -1
- sagemaker/core/tools/model_card/generate_model_card_from_schema.py +562 -0
- {sagemaker_core → sagemaker/core}/tools/resources_codegen.py +165 -98
- {sagemaker_core → sagemaker/core}/tools/resources_extractor.py +5 -13
- {sagemaker_core → sagemaker/core}/tools/shapes_codegen.py +16 -17
- {sagemaker_core → sagemaker/core}/tools/shapes_extractor.py +29 -67
- {sagemaker_core → sagemaker/core}/tools/templates.py +39 -17
- sagemaker/core/training/__init__.py +14 -0
- sagemaker/core/training/configs.py +333 -0
- sagemaker/core/training/constants.py +37 -0
- sagemaker/core/training/utils.py +77 -0
- sagemaker/core/training_compiler/__init__.py +16 -0
- sagemaker/core/training_compiler/config.py +197 -0
- sagemaker/core/training_compiler_config.py +197 -0
- sagemaker/core/transformer.py +793 -0
- sagemaker/core/user_agent.py +76 -0
- sagemaker/core/utilities/__init__.py +24 -0
- sagemaker/core/utilities/cache.py +169 -0
- sagemaker/core/utilities/search_expression.py +133 -0
- sagemaker/core/utils/__init__.py +48 -0
- sagemaker/core/utils/code_injection/__init__.py +0 -0
- {sagemaker_core/main → sagemaker/core/utils}/code_injection/codec.py +2 -2
- {sagemaker_core/main → sagemaker/core/utils}/code_injection/shape_dag.py +5979 -176
- {sagemaker_core/main → sagemaker/core/utils}/exceptions.py +8 -8
- sagemaker_core/main/default_configs_helper.py → sagemaker/core/utils/intelligent_defaults_helper.py +5 -6
- {sagemaker_core/main → sagemaker/core/utils}/logs.py +1 -2
- {sagemaker_core/main → sagemaker/core/utils}/utils.py +27 -22
- sagemaker/core/workflow/__init__.py +152 -0
- sagemaker/core/workflow/conditions.py +313 -0
- sagemaker/core/workflow/entities.py +58 -0
- sagemaker/core/workflow/execution_variables.py +89 -0
- sagemaker/core/workflow/functions.py +193 -0
- sagemaker/core/workflow/parameters.py +222 -0
- sagemaker/core/workflow/pipeline_context.py +394 -0
- sagemaker/core/workflow/pipeline_definition_config.py +31 -0
- sagemaker/core/workflow/properties.py +285 -0
- sagemaker/core/workflow/step_outputs.py +65 -0
- sagemaker/core/workflow/utilities.py +507 -0
- sagemaker/lineage/__init__.py +33 -0
- sagemaker/lineage/action.py +28 -0
- sagemaker/lineage/artifact.py +28 -0
- sagemaker/lineage/context.py +28 -0
- sagemaker/lineage/lineage_trial_component.py +28 -0
- {sagemaker_core-1.0.62.dist-info → sagemaker_core-2.1.1.dist-info}/METADATA +28 -9
- sagemaker_core-2.1.1.dist-info/RECORD +355 -0
- sagemaker_core-2.1.1.dist-info/top_level.txt +1 -0
- sagemaker_core/_version.py +0 -3
- sagemaker_core/helper/session_helper.py +0 -769
- sagemaker_core/resources/__init__.py +0 -1
- sagemaker_core/shapes/__init__.py +0 -1
- sagemaker_core/tools/__init__.py +0 -1
- sagemaker_core-1.0.62.dist-info/RECORD +0 -35
- sagemaker_core-1.0.62.dist-info/top_level.txt +0 -1
- {sagemaker_core → sagemaker/core/helper}/__init__.py +0 -0
- {sagemaker_core/helper → sagemaker/core/huggingface/training_compiler}/__init__.py +0 -0
- {sagemaker_core/main → sagemaker/core/jumpstart/factory}/__init__.py +0 -0
- {sagemaker_core/main/code_injection → sagemaker/core/jumpstart/hub}/__init__.py +0 -0
- {sagemaker_core/main → sagemaker/core/utils}/code_injection/base.py +0 -0
- {sagemaker_core/main → sagemaker/core/utils}/code_injection/constants.py +0 -0
- {sagemaker_core/main → sagemaker/core/utils}/user_agent.py +0 -0
- {sagemaker_core-1.0.62.dist-info → sagemaker_core-2.1.1.dist-info}/WHEEL +0 -0
- {sagemaker_core-1.0.62.dist-info → sagemaker_core-2.1.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
"""This file contains code related to model life cycle."""
|
|
14
|
+
from __future__ import absolute_import
|
|
15
|
+
|
|
16
|
+
from typing import Optional, Union
|
|
17
|
+
|
|
18
|
+
from sagemaker.core.helper.pipeline_variable import PipelineVariable
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class ModelLifeCycle(object):
|
|
22
|
+
"""Accepts ModelLifeCycle parameters for conversion to request dict."""
|
|
23
|
+
|
|
24
|
+
def __init__(
|
|
25
|
+
self,
|
|
26
|
+
stage: Optional[Union[str, PipelineVariable]] = None,
|
|
27
|
+
stage_status: Optional[Union[str, PipelineVariable]] = None,
|
|
28
|
+
stage_description: Optional[Union[str, PipelineVariable]] = None,
|
|
29
|
+
):
|
|
30
|
+
"""Initialize a ``ModelLifeCycle`` instance and turn parameters into dict.
|
|
31
|
+
|
|
32
|
+
# TODO: flesh out docstrings
|
|
33
|
+
Args:
|
|
34
|
+
stage (str or PipelineVariable):
|
|
35
|
+
stage_status (str or PipelineVariable):
|
|
36
|
+
stage_description (str or PipelineVariable):
|
|
37
|
+
"""
|
|
38
|
+
self.stage = stage
|
|
39
|
+
self.stage_status = stage_status
|
|
40
|
+
self.stage_description = stage_description
|
|
41
|
+
|
|
42
|
+
def _to_request_dict(self):
|
|
43
|
+
"""Generates a request dictionary using the parameters provided to the class."""
|
|
44
|
+
model_life_cycle_request = dict()
|
|
45
|
+
if self.stage:
|
|
46
|
+
model_life_cycle_request["Stage"] = self.stage
|
|
47
|
+
if self.stage_status:
|
|
48
|
+
model_life_cycle_request["StageStatus"] = self.stage_status
|
|
49
|
+
if self.stage_description:
|
|
50
|
+
model_life_cycle_request["StageDescription"] = self.stage_description
|
|
51
|
+
return model_life_cycle_request
|
|
@@ -0,0 +1,160 @@
|
|
|
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
|
+
"""This file contains code related to model metrics, including metric source and file source."""
|
|
14
|
+
from __future__ import absolute_import
|
|
15
|
+
|
|
16
|
+
from typing import Optional, Union
|
|
17
|
+
|
|
18
|
+
from sagemaker.core.helper.pipeline_variable import PipelineVariable
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class ModelMetrics(object):
|
|
22
|
+
"""Accepts model metrics parameters for conversion to request dict."""
|
|
23
|
+
|
|
24
|
+
def __init__(
|
|
25
|
+
self,
|
|
26
|
+
model_statistics: Optional["MetricsSource"] = None,
|
|
27
|
+
model_constraints: Optional["MetricsSource"] = None,
|
|
28
|
+
model_data_statistics: Optional["MetricsSource"] = None,
|
|
29
|
+
model_data_constraints: Optional["MetricsSource"] = None,
|
|
30
|
+
bias: Optional["MetricsSource"] = None,
|
|
31
|
+
explainability: Optional["MetricsSource"] = None,
|
|
32
|
+
bias_pre_training: Optional["MetricsSource"] = None,
|
|
33
|
+
bias_post_training: Optional["MetricsSource"] = None,
|
|
34
|
+
):
|
|
35
|
+
"""Initialize a ``ModelMetrics`` instance and turn parameters into dict.
|
|
36
|
+
|
|
37
|
+
Args:
|
|
38
|
+
model_statistics (MetricsSource): A metric source object that represents
|
|
39
|
+
model statistics (default: None).
|
|
40
|
+
model_constraints (MetricsSource): A metric source object that represents
|
|
41
|
+
model constraints (default: None).
|
|
42
|
+
model_data_statistics (MetricsSource): A metric source object that represents
|
|
43
|
+
model data statistics (default: None).
|
|
44
|
+
model_data_constraints (MetricsSource): A metric source object that represents
|
|
45
|
+
model data constraints (default: None).
|
|
46
|
+
bias (MetricsSource): A metric source object that represents bias report
|
|
47
|
+
(default: None).
|
|
48
|
+
explainability (MetricsSource): A metric source object that represents
|
|
49
|
+
explainability report (default: None).
|
|
50
|
+
bias_pre_training (MetricsSource): A metric source object that represents
|
|
51
|
+
Pre-training report (default: None).
|
|
52
|
+
bias_post_training (MetricsSource): A metric source object that represents
|
|
53
|
+
Post-training report (default: None).
|
|
54
|
+
"""
|
|
55
|
+
self.model_statistics = model_statistics
|
|
56
|
+
self.model_constraints = model_constraints
|
|
57
|
+
self.model_data_statistics = model_data_statistics
|
|
58
|
+
self.model_data_constraints = model_data_constraints
|
|
59
|
+
self.bias = bias
|
|
60
|
+
self.bias_pre_training = bias_pre_training
|
|
61
|
+
self.bias_post_training = bias_post_training
|
|
62
|
+
self.explainability = explainability
|
|
63
|
+
|
|
64
|
+
def _to_request_dict(self):
|
|
65
|
+
"""Generates a request dictionary using the parameters provided to the class."""
|
|
66
|
+
model_metrics_request = {}
|
|
67
|
+
|
|
68
|
+
model_quality = {}
|
|
69
|
+
if self.model_statistics is not None:
|
|
70
|
+
model_quality["Statistics"] = self.model_statistics._to_request_dict()
|
|
71
|
+
if self.model_constraints is not None:
|
|
72
|
+
model_quality["Constraints"] = self.model_constraints._to_request_dict()
|
|
73
|
+
if model_quality:
|
|
74
|
+
model_metrics_request["ModelQuality"] = model_quality
|
|
75
|
+
|
|
76
|
+
model_data_quality = {}
|
|
77
|
+
if self.model_data_statistics is not None:
|
|
78
|
+
model_data_quality["Statistics"] = self.model_data_statistics._to_request_dict()
|
|
79
|
+
if self.model_data_constraints is not None:
|
|
80
|
+
model_data_quality["Constraints"] = self.model_data_constraints._to_request_dict()
|
|
81
|
+
if model_data_quality:
|
|
82
|
+
model_metrics_request["ModelDataQuality"] = model_data_quality
|
|
83
|
+
|
|
84
|
+
bias = {}
|
|
85
|
+
if self.bias is not None:
|
|
86
|
+
bias["Report"] = self.bias._to_request_dict()
|
|
87
|
+
if self.bias_pre_training is not None:
|
|
88
|
+
bias["PreTrainingReport"] = self.bias_pre_training._to_request_dict()
|
|
89
|
+
if self.bias_post_training is not None:
|
|
90
|
+
bias["PostTrainingReport"] = self.bias_post_training._to_request_dict()
|
|
91
|
+
model_metrics_request["Bias"] = bias
|
|
92
|
+
|
|
93
|
+
explainability = {}
|
|
94
|
+
if self.explainability is not None:
|
|
95
|
+
explainability["Report"] = self.explainability._to_request_dict()
|
|
96
|
+
model_metrics_request["Explainability"] = explainability
|
|
97
|
+
|
|
98
|
+
return model_metrics_request
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class MetricsSource(object):
|
|
102
|
+
"""Accepts metrics source parameters for conversion to request dict."""
|
|
103
|
+
|
|
104
|
+
def __init__(
|
|
105
|
+
self,
|
|
106
|
+
content_type: Union[str, PipelineVariable],
|
|
107
|
+
s3_uri: Union[str, PipelineVariable],
|
|
108
|
+
content_digest: Optional[Union[str, PipelineVariable]] = None,
|
|
109
|
+
):
|
|
110
|
+
"""Initialize a ``MetricsSource`` instance and turn parameters into dict.
|
|
111
|
+
|
|
112
|
+
Args:
|
|
113
|
+
content_type (str or PipelineVariable): Specifies the type of content
|
|
114
|
+
in S3 URI
|
|
115
|
+
s3_uri (str or PipelineVariable): The S3 URI of the metric
|
|
116
|
+
content_digest (str or PipelineVariable): The digest of the metric
|
|
117
|
+
(default: None)
|
|
118
|
+
"""
|
|
119
|
+
self.content_type = content_type
|
|
120
|
+
self.s3_uri = s3_uri
|
|
121
|
+
self.content_digest = content_digest
|
|
122
|
+
|
|
123
|
+
def _to_request_dict(self):
|
|
124
|
+
"""Generates a request dictionary using the parameters provided to the class."""
|
|
125
|
+
metrics_source_request = {"ContentType": self.content_type, "S3Uri": self.s3_uri}
|
|
126
|
+
if self.content_digest is not None:
|
|
127
|
+
metrics_source_request["ContentDigest"] = self.content_digest
|
|
128
|
+
return metrics_source_request
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class FileSource(object):
|
|
132
|
+
"""Accepts file source parameters for conversion to request dict."""
|
|
133
|
+
|
|
134
|
+
def __init__(
|
|
135
|
+
self,
|
|
136
|
+
s3_uri: Union[str, PipelineVariable],
|
|
137
|
+
content_digest: Optional[Union[str, PipelineVariable]] = None,
|
|
138
|
+
content_type: Optional[Union[str, PipelineVariable]] = None,
|
|
139
|
+
):
|
|
140
|
+
"""Initialize a ``FileSource`` instance and turn parameters into dict.
|
|
141
|
+
|
|
142
|
+
Args:
|
|
143
|
+
s3_uri (str or PipelineVariable): The S3 URI of the metric
|
|
144
|
+
content_digest (str or PipelineVariable): The digest of the metric
|
|
145
|
+
(default: None)
|
|
146
|
+
content_type (str or PipelineVariable): Specifies the type of content
|
|
147
|
+
in S3 URI (default: None)
|
|
148
|
+
"""
|
|
149
|
+
self.content_type = content_type
|
|
150
|
+
self.s3_uri = s3_uri
|
|
151
|
+
self.content_digest = content_digest
|
|
152
|
+
|
|
153
|
+
def _to_request_dict(self):
|
|
154
|
+
"""Generates a request dictionary using the parameters provided to the class."""
|
|
155
|
+
file_source_request = {"S3Uri": self.s3_uri}
|
|
156
|
+
if self.content_digest is not None:
|
|
157
|
+
file_source_request["ContentDigest"] = self.content_digest
|
|
158
|
+
if self.content_type is not None:
|
|
159
|
+
file_source_request["ContentType"] = self.content_type
|
|
160
|
+
return file_source_request
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
"""Amazon SageMaker Model Monitoring module.
|
|
14
|
+
|
|
15
|
+
This module provides classes for monitoring model quality, data quality, and bias
|
|
16
|
+
in deployed SageMaker models.
|
|
17
|
+
"""
|
|
18
|
+
from __future__ import absolute_import
|
|
19
|
+
|
|
20
|
+
# Model monitoring classes
|
|
21
|
+
from sagemaker.core.model_monitor.model_monitoring import BaseliningJob # noqa: F401
|
|
22
|
+
from sagemaker.core.model_monitor.model_monitoring import BatchTransformInput # noqa: F401
|
|
23
|
+
from sagemaker.core.model_monitor.model_monitoring import DefaultModelMonitor # noqa: F401
|
|
24
|
+
from sagemaker.core.model_monitor.model_monitoring import EndpointInput # noqa: F401
|
|
25
|
+
from sagemaker.core.model_monitor.model_monitoring import ModelMonitor # noqa: F401
|
|
26
|
+
from sagemaker.core.model_monitor.model_monitoring import ModelQualityMonitor # noqa: F401
|
|
27
|
+
from sagemaker.core.model_monitor.model_monitoring import MonitoringExecution # noqa: F401
|
|
28
|
+
from sagemaker.core.model_monitor.model_monitoring import MonitoringOutput # noqa: F401
|
|
29
|
+
|
|
30
|
+
# Clarify model monitoring classes
|
|
31
|
+
from sagemaker.core.model_monitor.clarify_model_monitoring import BiasAnalysisConfig # noqa: F401
|
|
32
|
+
from sagemaker.core.model_monitor.clarify_model_monitoring import ( # noqa: F401
|
|
33
|
+
ExplainabilityAnalysisConfig,
|
|
34
|
+
)
|
|
35
|
+
from sagemaker.core.model_monitor.clarify_model_monitoring import ModelBiasMonitor # noqa: F401
|
|
36
|
+
from sagemaker.core.model_monitor.clarify_model_monitoring import ( # noqa: F401
|
|
37
|
+
ModelExplainabilityMonitor,
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
# Monitoring configuration classes
|
|
41
|
+
from sagemaker.core.model_monitor.cron_expression_generator import (
|
|
42
|
+
CronExpressionGenerator,
|
|
43
|
+
) # noqa: F401
|
|
44
|
+
from sagemaker.core.model_monitor.data_capture_config import DataCaptureConfig # noqa: F401
|
|
45
|
+
from sagemaker.core.model_monitor.data_quality_monitoring_config import ( # noqa: F401
|
|
46
|
+
DataQualityDistributionConstraints,
|
|
47
|
+
)
|
|
48
|
+
from sagemaker.core.model_monitor.data_quality_monitoring_config import ( # noqa: F401
|
|
49
|
+
DataQualityMonitoringConfig,
|
|
50
|
+
)
|
|
51
|
+
from sagemaker.core.model_monitor.dataset_format import DatasetFormat # noqa: F401
|
|
52
|
+
from sagemaker.core.model_monitor.dataset_format import MonitoringDatasetFormat # noqa: F401
|
|
53
|
+
from sagemaker.core.model_monitor.monitoring_alert import (
|
|
54
|
+
ModelDashboardIndicatorAction,
|
|
55
|
+
) # noqa: F401
|
|
56
|
+
from sagemaker.core.model_monitor.monitoring_alert import MonitoringAlertActions # noqa: F401
|
|
57
|
+
from sagemaker.core.model_monitor.monitoring_alert import (
|
|
58
|
+
MonitoringAlertHistorySummary,
|
|
59
|
+
) # noqa: F401
|
|
60
|
+
from sagemaker.core.model_monitor.monitoring_alert import MonitoringAlertSummary # noqa: F401
|
|
61
|
+
from sagemaker.core.model_monitor.monitoring_files import Constraints # noqa: F401
|
|
62
|
+
from sagemaker.core.model_monitor.monitoring_files import ConstraintViolations # noqa: F401
|
|
63
|
+
from sagemaker.core.model_monitor.monitoring_files import Statistics # noqa: F401
|
|
64
|
+
|
|
65
|
+
# Network configuration (re-exported for convenience)
|
|
66
|
+
from sagemaker.core.network import NetworkConfig # noqa: F401
|