sagemaker-core 1.0.62__py3-none-any.whl → 2.3.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/__init__.py +2 -0
- 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 +2399 -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 +247 -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 +1220 -0
- sagemaker/core/git_utils.py +415 -0
- sagemaker/core/helper/pipeline_variable.py +82 -0
- sagemaker/core/helper/session_helper.py +2977 -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 +509 -0
- sagemaker/core/image_retriever/test.py +7 -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 +770 -0
- sagemaker/core/image_uri_config/huggingface-llm.json +1267 -0
- sagemaker/core/image_uri_config/huggingface-neuron.json +52 -0
- sagemaker/core/image_uri_config/huggingface-neuronx.json +686 -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-vllm-neuronx.json +38 -0
- sagemaker/core/image_uri_config/huggingface.json +2287 -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 +252 -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 +494 -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 +972 -0
- sagemaker/core/image_uris.py +816 -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 +197 -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 +501 -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 +171 -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 +423 -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 +246 -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 +1497 -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 +239 -0
- sagemaker/core/modules/constants.py +37 -0
- sagemaker/core/modules/distributed.py +182 -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 +205 -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 +1599 -0
- sagemaker/core/remote_function/__init__.py +19 -0
- sagemaker/core/remote_function/checkpoint_location.py +47 -0
- sagemaker/core/remote_function/client.py +1310 -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 +347 -0
- sagemaker/core/remote_function/core/serialization.py +410 -0
- sagemaker/core/remote_function/core/stored_function.py +223 -0
- sagemaker/core/remote_function/custom_file_filter.py +128 -0
- sagemaker/core/remote_function/errors.py +102 -0
- sagemaker/core/remote_function/invoke_function.py +167 -0
- sagemaker/core/remote_function/job.py +2121 -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 +82 -0
- sagemaker/core/telemetry/telemetry_logging.py +285 -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 +345 -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 +514 -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.3.1.dist-info}/METADATA +28 -9
- sagemaker_core-2.3.1.dist-info/RECORD +351 -0
- sagemaker_core-2.3.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/jumpstart/factory}/__init__.py +0 -0
- {sagemaker_core/main → sagemaker/core/jumpstart/hub}/__init__.py +0 -0
- {sagemaker_core/main/code_injection → sagemaker/core/modules/local_core}/__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.3.1.dist-info}/WHEEL +0 -0
- {sagemaker_core-1.0.62.dist-info → sagemaker_core-2.3.1.dist-info}/licenses/LICENSE +0 -0
sagemaker/__init__.py
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from sagemaker.core.utils.utils import enable_textual_rich_console_and_traceback
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
enable_textual_rich_console_and_traceback()
|
|
5
|
+
|
|
6
|
+
# Job management
|
|
7
|
+
from sagemaker.core.job import _Job # noqa: F401
|
|
8
|
+
from sagemaker.core.processing import ( # noqa: F401
|
|
9
|
+
Processor,
|
|
10
|
+
ScriptProcessor,
|
|
11
|
+
FrameworkProcessor,
|
|
12
|
+
)
|
|
13
|
+
from sagemaker.core.transformer import Transformer # noqa: F401
|
|
14
|
+
|
|
15
|
+
# Note: HyperparameterTuner and WarmStartTypes are in sagemaker.train.tuner
|
|
16
|
+
# They are not re-exported from core to avoid circular dependencies
|
|
@@ -0,0 +1,116 @@
|
|
|
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
|
+
"""Provides internal tooling for studio environments."""
|
|
14
|
+
from __future__ import absolute_import
|
|
15
|
+
|
|
16
|
+
import json
|
|
17
|
+
import logging
|
|
18
|
+
|
|
19
|
+
from pathlib import Path
|
|
20
|
+
|
|
21
|
+
STUDIO_PROJECT_CONFIG = ".sagemaker-code-config"
|
|
22
|
+
|
|
23
|
+
logger = logging.getLogger(__name__)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def _append_project_tags(tags=None, working_dir=None):
|
|
27
|
+
"""Appends the project tag to the list of tags, if it exists.
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
working_dir: the working directory to start looking.
|
|
31
|
+
tags: the list of tags to append to.
|
|
32
|
+
|
|
33
|
+
Returns:
|
|
34
|
+
A possibly extended list of tags that includes the project id.
|
|
35
|
+
"""
|
|
36
|
+
path = _find_config(working_dir)
|
|
37
|
+
if path is None:
|
|
38
|
+
return tags
|
|
39
|
+
|
|
40
|
+
config = _load_config(path)
|
|
41
|
+
if config is None:
|
|
42
|
+
return tags
|
|
43
|
+
|
|
44
|
+
additional_tags = _parse_tags(config)
|
|
45
|
+
if additional_tags is None:
|
|
46
|
+
return tags
|
|
47
|
+
|
|
48
|
+
all_tags = tags or []
|
|
49
|
+
additional_tags = [tag for tag in additional_tags if tag not in all_tags]
|
|
50
|
+
all_tags.extend(additional_tags)
|
|
51
|
+
|
|
52
|
+
return all_tags
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def _find_config(working_dir=None):
|
|
56
|
+
"""Gets project config on SageMaker Studio platforms, if it exists.
|
|
57
|
+
|
|
58
|
+
Args:
|
|
59
|
+
working_dir: the working directory to start looking.
|
|
60
|
+
|
|
61
|
+
Returns:
|
|
62
|
+
The project config path, if it exists. Otherwise None.
|
|
63
|
+
"""
|
|
64
|
+
try:
|
|
65
|
+
wd = Path(working_dir) if working_dir else Path.cwd()
|
|
66
|
+
|
|
67
|
+
path = None
|
|
68
|
+
|
|
69
|
+
# Get the root of the current working directory for both Windows and Unix-like systems
|
|
70
|
+
root = Path(wd.anchor)
|
|
71
|
+
while path is None and wd != root:
|
|
72
|
+
candidate = wd / STUDIO_PROJECT_CONFIG
|
|
73
|
+
if Path.exists(candidate):
|
|
74
|
+
path = candidate
|
|
75
|
+
wd = wd.parent
|
|
76
|
+
|
|
77
|
+
return path
|
|
78
|
+
except Exception as e: # pylint: disable=W0703
|
|
79
|
+
logger.debug("Could not find the studio project config. %s", e)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def _load_config(path):
|
|
83
|
+
"""Parse out the projectId attribute if it exists at path.
|
|
84
|
+
|
|
85
|
+
Args:
|
|
86
|
+
path: path to project config
|
|
87
|
+
|
|
88
|
+
Returns:
|
|
89
|
+
Project config Json, or None if it does not exist.
|
|
90
|
+
"""
|
|
91
|
+
try:
|
|
92
|
+
with open(path, "r") as f:
|
|
93
|
+
content = f.read().strip()
|
|
94
|
+
config = json.loads(content)
|
|
95
|
+
|
|
96
|
+
return config
|
|
97
|
+
except Exception as e: # pylint: disable=W0703
|
|
98
|
+
logger.debug("Could not load project config. %s", e)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def _parse_tags(config):
|
|
102
|
+
"""Parse out appropriate attributes and formats as tags.
|
|
103
|
+
|
|
104
|
+
Args:
|
|
105
|
+
config: project config dict
|
|
106
|
+
|
|
107
|
+
Returns:
|
|
108
|
+
List of tags
|
|
109
|
+
"""
|
|
110
|
+
try:
|
|
111
|
+
return [
|
|
112
|
+
{"Key": "sagemaker:project-id", "Value": config["sagemakerProjectId"]},
|
|
113
|
+
{"Key": "sagemaker:project-name", "Value": config["sagemakerProjectName"]},
|
|
114
|
+
]
|
|
115
|
+
except Exception as e: # pylint: disable=W0703
|
|
116
|
+
logger.debug("Could not parse project config. %s", e)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
4
|
+
|
|
5
|
+
# Get the root directory of the project
|
|
6
|
+
root_dir = os.path.abspath(os.path.join(script_dir, "..", "..", ".."))
|
|
7
|
+
|
|
8
|
+
version_file_path = os.path.join(root_dir, "VERSION")
|
|
9
|
+
|
|
10
|
+
with open(version_file_path) as version_file:
|
|
11
|
+
__version__ = version_file.read().strip()
|
|
@@ -0,0 +1,131 @@
|
|
|
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 module is for SageMaker accept types."""
|
|
14
|
+
from __future__ import absolute_import
|
|
15
|
+
from typing import List, Optional
|
|
16
|
+
|
|
17
|
+
from sagemaker.core.jumpstart import artifacts, utils as jumpstart_utils
|
|
18
|
+
from sagemaker.core.jumpstart.constants import DEFAULT_JUMPSTART_SAGEMAKER_SESSION
|
|
19
|
+
from sagemaker.core.jumpstart.enums import JumpStartModelType
|
|
20
|
+
from sagemaker.core.helper.session_helper import Session
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def retrieve_options(
|
|
24
|
+
region: Optional[str] = None,
|
|
25
|
+
model_id: Optional[str] = None,
|
|
26
|
+
model_version: Optional[str] = None,
|
|
27
|
+
hub_arn: Optional[str] = None,
|
|
28
|
+
tolerate_vulnerable_model: bool = False,
|
|
29
|
+
tolerate_deprecated_model: bool = False,
|
|
30
|
+
sagemaker_session: Session = DEFAULT_JUMPSTART_SAGEMAKER_SESSION,
|
|
31
|
+
) -> List[str]:
|
|
32
|
+
"""Retrieves the supported accept types for the model matching the given arguments.
|
|
33
|
+
|
|
34
|
+
Args:
|
|
35
|
+
region (str): The AWS Region for which to retrieve the supported accept types.
|
|
36
|
+
Defaults to ``None``.
|
|
37
|
+
model_id (str): The model ID of the model for which to
|
|
38
|
+
retrieve the supported accept types. (Default: None).
|
|
39
|
+
model_version (str): The version of the model for which to retrieve the
|
|
40
|
+
supported accept types. (Default: None).
|
|
41
|
+
hub_arn (str): The arn of the SageMaker Hub for which to retrieve
|
|
42
|
+
model details from. (Default: None).
|
|
43
|
+
tolerate_vulnerable_model (bool): True if vulnerable versions of model
|
|
44
|
+
specifications should be tolerated (exception not raised). If False, raises an
|
|
45
|
+
exception if the script used by this version of the model has dependencies with known
|
|
46
|
+
security vulnerabilities. (Default: False).
|
|
47
|
+
tolerate_deprecated_model (bool): True if deprecated models should be tolerated
|
|
48
|
+
(exception not raised). False if these models should raise an exception.
|
|
49
|
+
(Default: False).
|
|
50
|
+
sagemaker_session (sagemaker.session.Session): A SageMaker Session
|
|
51
|
+
object, used for SageMaker interactions. If not
|
|
52
|
+
specified, one is created using the default AWS configuration
|
|
53
|
+
chain. (Default: sagemaker.jumpstart.constants.DEFAULT_JUMPSTART_SAGEMAKER_SESSION).
|
|
54
|
+
Returns:
|
|
55
|
+
list: The supported accept types to use for the model.
|
|
56
|
+
|
|
57
|
+
Raises:
|
|
58
|
+
ValueError: If the combination of arguments specified is not supported.
|
|
59
|
+
"""
|
|
60
|
+
if not jumpstart_utils.is_jumpstart_model_input(model_id, model_version):
|
|
61
|
+
raise ValueError(
|
|
62
|
+
"Must specify JumpStart `model_id` and `model_version` when retrieving accept types."
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
return artifacts._retrieve_supported_accept_types(
|
|
66
|
+
model_id=model_id,
|
|
67
|
+
model_version=model_version,
|
|
68
|
+
hub_arn=hub_arn,
|
|
69
|
+
region=region,
|
|
70
|
+
tolerate_vulnerable_model=tolerate_vulnerable_model,
|
|
71
|
+
tolerate_deprecated_model=tolerate_deprecated_model,
|
|
72
|
+
sagemaker_session=sagemaker_session,
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def retrieve_default(
|
|
77
|
+
region: Optional[str] = None,
|
|
78
|
+
model_id: Optional[str] = None,
|
|
79
|
+
model_version: Optional[str] = None,
|
|
80
|
+
hub_arn: Optional[str] = None,
|
|
81
|
+
tolerate_vulnerable_model: bool = False,
|
|
82
|
+
tolerate_deprecated_model: bool = False,
|
|
83
|
+
sagemaker_session: Session = DEFAULT_JUMPSTART_SAGEMAKER_SESSION,
|
|
84
|
+
model_type: JumpStartModelType = JumpStartModelType.OPEN_WEIGHTS,
|
|
85
|
+
config_name: Optional[str] = None,
|
|
86
|
+
) -> str:
|
|
87
|
+
"""Retrieves the default accept type for the model matching the given arguments.
|
|
88
|
+
|
|
89
|
+
Args:
|
|
90
|
+
region (str): The AWS Region for which to retrieve the default accept type.
|
|
91
|
+
Defaults to ``None``.
|
|
92
|
+
model_id (str): The model ID of the model for which to
|
|
93
|
+
retrieve the default accept type. (Default: None).
|
|
94
|
+
model_version (str): The version of the model for which to retrieve the
|
|
95
|
+
default accept type. (Default: None).
|
|
96
|
+
hub_arn (str): The arn of the SageMaker Hub for which to retrieve
|
|
97
|
+
model details from. (Default: None).
|
|
98
|
+
tolerate_vulnerable_model (bool): True if vulnerable versions of model
|
|
99
|
+
specifications should be tolerated (exception not raised). If False, raises an
|
|
100
|
+
exception if the script used by this version of the model has dependencies with known
|
|
101
|
+
security vulnerabilities. (Default: False).
|
|
102
|
+
tolerate_deprecated_model (bool): True if deprecated models should be tolerated
|
|
103
|
+
(exception not raised). False if these models should raise an exception.
|
|
104
|
+
(Default: False).
|
|
105
|
+
sagemaker_session (sagemaker.session.Session): A SageMaker Session
|
|
106
|
+
object, used for SageMaker interactions. If not
|
|
107
|
+
specified, one is created using the default AWS configuration
|
|
108
|
+
chain. (Default: sagemaker.jumpstart.constants.DEFAULT_JUMPSTART_SAGEMAKER_SESSION).
|
|
109
|
+
config_name (Optional[str]): Name of the JumpStart Model config to apply. (Default: None).
|
|
110
|
+
Returns:
|
|
111
|
+
str: The default accept type to use for the model.
|
|
112
|
+
|
|
113
|
+
Raises:
|
|
114
|
+
ValueError: If the combination of arguments specified is not supported.
|
|
115
|
+
"""
|
|
116
|
+
if not jumpstart_utils.is_jumpstart_model_input(model_id, model_version):
|
|
117
|
+
raise ValueError(
|
|
118
|
+
"Must specify JumpStart `model_id` and `model_version` when retrieving accept types."
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
return artifacts._retrieve_default_accept_type(
|
|
122
|
+
model_id=model_id,
|
|
123
|
+
model_version=model_version,
|
|
124
|
+
hub_arn=hub_arn,
|
|
125
|
+
region=region,
|
|
126
|
+
tolerate_vulnerable_model=tolerate_vulnerable_model,
|
|
127
|
+
tolerate_deprecated_model=tolerate_deprecated_model,
|
|
128
|
+
sagemaker_session=sagemaker_session,
|
|
129
|
+
model_type=model_type,
|
|
130
|
+
config_name=config_name,
|
|
131
|
+
)
|