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,390 @@
|
|
|
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
|
+
# pylint: skip-file
|
|
14
|
+
"""This module contains accessors related to SageMaker JumpStart."""
|
|
15
|
+
from __future__ import absolute_import
|
|
16
|
+
import functools
|
|
17
|
+
import logging
|
|
18
|
+
from typing import Any, Dict, List, Optional
|
|
19
|
+
import boto3
|
|
20
|
+
|
|
21
|
+
from sagemaker.core.deprecations import deprecated
|
|
22
|
+
from sagemaker.core.jumpstart.types import JumpStartModelHeader, JumpStartModelSpecs, HubContentType
|
|
23
|
+
from sagemaker.core.jumpstart.enums import JumpStartModelType
|
|
24
|
+
from sagemaker.core.jumpstart import cache
|
|
25
|
+
from sagemaker.core.jumpstart.hub.utils import (
|
|
26
|
+
construct_hub_model_arn_from_inputs,
|
|
27
|
+
construct_hub_model_reference_arn_from_inputs,
|
|
28
|
+
)
|
|
29
|
+
from sagemaker.core.jumpstart.constants import JUMPSTART_DEFAULT_REGION_NAME
|
|
30
|
+
from sagemaker.core.helper.session_helper import Session
|
|
31
|
+
from sagemaker.core.jumpstart import constants
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class SageMakerSettings(object):
|
|
35
|
+
"""Static class for storing the SageMaker settings."""
|
|
36
|
+
|
|
37
|
+
_parsed_sagemaker_version = ""
|
|
38
|
+
|
|
39
|
+
@staticmethod
|
|
40
|
+
def set_sagemaker_version(version: str) -> None:
|
|
41
|
+
"""Set SageMaker version."""
|
|
42
|
+
SageMakerSettings._parsed_sagemaker_version = version
|
|
43
|
+
|
|
44
|
+
@staticmethod
|
|
45
|
+
def get_sagemaker_version() -> str:
|
|
46
|
+
"""Return SageMaker version."""
|
|
47
|
+
return SageMakerSettings._parsed_sagemaker_version
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class JumpStartS3PayloadAccessor(object):
|
|
51
|
+
"""Static class for storing and retrieving S3 payload artifacts."""
|
|
52
|
+
|
|
53
|
+
MAX_CACHE_SIZE_BYTES = int(100 * 1e6)
|
|
54
|
+
MAX_PAYLOAD_SIZE_BYTES = int(6 * 1e6)
|
|
55
|
+
|
|
56
|
+
CACHE_SIZE = MAX_CACHE_SIZE_BYTES // MAX_PAYLOAD_SIZE_BYTES
|
|
57
|
+
|
|
58
|
+
@staticmethod
|
|
59
|
+
def clear_cache() -> None:
|
|
60
|
+
"""Clears LRU caches associated with S3 client and retrieved objects."""
|
|
61
|
+
|
|
62
|
+
JumpStartS3PayloadAccessor._get_default_s3_client.cache_clear()
|
|
63
|
+
JumpStartS3PayloadAccessor.get_object_cached.cache_clear()
|
|
64
|
+
|
|
65
|
+
@staticmethod
|
|
66
|
+
@functools.lru_cache()
|
|
67
|
+
def _get_default_s3_client(region: str = JUMPSTART_DEFAULT_REGION_NAME) -> boto3.client:
|
|
68
|
+
"""Returns default S3 client associated with the region.
|
|
69
|
+
|
|
70
|
+
Result is cached so multiple clients in memory are not created.
|
|
71
|
+
"""
|
|
72
|
+
return boto3.client("s3", region_name=region)
|
|
73
|
+
|
|
74
|
+
@staticmethod
|
|
75
|
+
@functools.lru_cache(maxsize=CACHE_SIZE)
|
|
76
|
+
def get_object_cached(
|
|
77
|
+
bucket: str,
|
|
78
|
+
key: str,
|
|
79
|
+
region: str = JUMPSTART_DEFAULT_REGION_NAME,
|
|
80
|
+
s3_client: Optional[boto3.client] = None,
|
|
81
|
+
) -> bytes:
|
|
82
|
+
"""Returns S3 object located at the bucket and key.
|
|
83
|
+
|
|
84
|
+
Requests are cached so that the same S3 request is never made more
|
|
85
|
+
than once, unless a different region or client is used.
|
|
86
|
+
"""
|
|
87
|
+
return JumpStartS3PayloadAccessor.get_object(
|
|
88
|
+
bucket=bucket, key=key, region=region, s3_client=s3_client
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
@staticmethod
|
|
92
|
+
def _get_object_size_bytes(
|
|
93
|
+
bucket: str,
|
|
94
|
+
key: str,
|
|
95
|
+
region: str = JUMPSTART_DEFAULT_REGION_NAME,
|
|
96
|
+
s3_client: Optional[boto3.client] = None,
|
|
97
|
+
) -> bytes:
|
|
98
|
+
"""Returns size in bytes of S3 object using S3.HeadObject operation."""
|
|
99
|
+
if s3_client is None:
|
|
100
|
+
s3_client = JumpStartS3PayloadAccessor._get_default_s3_client(region)
|
|
101
|
+
|
|
102
|
+
return s3_client.head_object(Bucket=bucket, Key=key)["ContentLength"]
|
|
103
|
+
|
|
104
|
+
@staticmethod
|
|
105
|
+
def get_object(
|
|
106
|
+
bucket: str,
|
|
107
|
+
key: str,
|
|
108
|
+
region: str = JUMPSTART_DEFAULT_REGION_NAME,
|
|
109
|
+
s3_client: Optional[boto3.client] = None,
|
|
110
|
+
) -> bytes:
|
|
111
|
+
"""Returns S3 object located at the bucket and key.
|
|
112
|
+
|
|
113
|
+
Raises:
|
|
114
|
+
ValueError: The object size is too large.
|
|
115
|
+
"""
|
|
116
|
+
if s3_client is None:
|
|
117
|
+
s3_client = JumpStartS3PayloadAccessor._get_default_s3_client(region)
|
|
118
|
+
|
|
119
|
+
object_size_bytes = JumpStartS3PayloadAccessor._get_object_size_bytes(
|
|
120
|
+
bucket=bucket, key=key, region=region, s3_client=s3_client
|
|
121
|
+
)
|
|
122
|
+
if object_size_bytes > JumpStartS3PayloadAccessor.MAX_PAYLOAD_SIZE_BYTES:
|
|
123
|
+
raise ValueError(
|
|
124
|
+
f"s3://{bucket}/{key} has size of {object_size_bytes} bytes, "
|
|
125
|
+
"which exceeds maximum allowed size of "
|
|
126
|
+
f"{JumpStartS3PayloadAccessor.MAX_PAYLOAD_SIZE_BYTES} bytes."
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
return s3_client.get_object(Bucket=bucket, Key=key)["Body"].read()
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
class JumpStartModelsAccessor(object):
|
|
133
|
+
"""Static class for storing the JumpStart models cache."""
|
|
134
|
+
|
|
135
|
+
_cache: Optional[cache.JumpStartModelsCache] = None
|
|
136
|
+
_curr_region = JUMPSTART_DEFAULT_REGION_NAME
|
|
137
|
+
|
|
138
|
+
_content_bucket: Optional[str] = None
|
|
139
|
+
_gated_content_bucket: Optional[str] = None
|
|
140
|
+
|
|
141
|
+
_cache_kwargs: Dict[str, Any] = {}
|
|
142
|
+
|
|
143
|
+
@staticmethod
|
|
144
|
+
def set_jumpstart_content_bucket(content_bucket: str) -> None:
|
|
145
|
+
"""Sets JumpStart content bucket."""
|
|
146
|
+
JumpStartModelsAccessor._content_bucket = content_bucket
|
|
147
|
+
|
|
148
|
+
@staticmethod
|
|
149
|
+
def get_jumpstart_content_bucket() -> Optional[str]:
|
|
150
|
+
"""Returns JumpStart content bucket."""
|
|
151
|
+
return JumpStartModelsAccessor._content_bucket
|
|
152
|
+
|
|
153
|
+
@staticmethod
|
|
154
|
+
def set_jumpstart_gated_content_bucket(gated_content_bucket: str) -> None:
|
|
155
|
+
"""Sets JumpStart gated content bucket."""
|
|
156
|
+
JumpStartModelsAccessor._gated_content_bucket = gated_content_bucket
|
|
157
|
+
|
|
158
|
+
@staticmethod
|
|
159
|
+
def get_jumpstart_gated_content_bucket() -> Optional[str]:
|
|
160
|
+
"""Returns JumpStart gated content bucket."""
|
|
161
|
+
return JumpStartModelsAccessor._gated_content_bucket
|
|
162
|
+
|
|
163
|
+
@staticmethod
|
|
164
|
+
def _validate_and_mutate_region_cache_kwargs(
|
|
165
|
+
cache_kwargs: Optional[Dict[str, Any]] = None, region: Optional[str] = None
|
|
166
|
+
) -> Dict[str, Any]:
|
|
167
|
+
"""Returns cache_kwargs with region argument removed if present.
|
|
168
|
+
|
|
169
|
+
Raises:
|
|
170
|
+
ValueError: If region in `cache_kwargs` is inconsistent with `region` argument.
|
|
171
|
+
|
|
172
|
+
Args:
|
|
173
|
+
cache_kwargs (Optional[Dict[str, Any]]): cache kwargs to validate.
|
|
174
|
+
region (str): The region to validate along with the kwargs.
|
|
175
|
+
"""
|
|
176
|
+
cache_kwargs_dict = {} if cache_kwargs is None else cache_kwargs
|
|
177
|
+
if region is not None and "region" in cache_kwargs_dict:
|
|
178
|
+
if region != cache_kwargs_dict["region"]:
|
|
179
|
+
raise ValueError(
|
|
180
|
+
f"Inconsistent region definitions: {region}, {cache_kwargs_dict['region']}"
|
|
181
|
+
)
|
|
182
|
+
del cache_kwargs_dict["region"]
|
|
183
|
+
return cache_kwargs_dict
|
|
184
|
+
|
|
185
|
+
@staticmethod
|
|
186
|
+
def _set_cache_and_region(region: str, cache_kwargs: dict) -> None:
|
|
187
|
+
"""Sets ``JumpStartModelsAccessor._cache`` and ``JumpStartModelsAccessor._curr_region``.
|
|
188
|
+
|
|
189
|
+
Args:
|
|
190
|
+
region (str): region for which to retrieve header/spec.
|
|
191
|
+
cache_kwargs (dict): kwargs to pass to ``JumpStartModelsCache``.
|
|
192
|
+
"""
|
|
193
|
+
new_cache_kwargs = JumpStartModelsAccessor._validate_and_mutate_region_cache_kwargs(
|
|
194
|
+
cache_kwargs, region
|
|
195
|
+
)
|
|
196
|
+
if (
|
|
197
|
+
JumpStartModelsAccessor._cache is None
|
|
198
|
+
or region != JumpStartModelsAccessor._curr_region
|
|
199
|
+
or new_cache_kwargs != JumpStartModelsAccessor._cache_kwargs
|
|
200
|
+
):
|
|
201
|
+
JumpStartModelsAccessor._cache = cache.JumpStartModelsCache(
|
|
202
|
+
region=region, **cache_kwargs
|
|
203
|
+
)
|
|
204
|
+
JumpStartModelsAccessor._curr_region = region
|
|
205
|
+
JumpStartModelsAccessor._cache_kwargs = new_cache_kwargs
|
|
206
|
+
|
|
207
|
+
@staticmethod
|
|
208
|
+
def _get_manifest(
|
|
209
|
+
region: str = JUMPSTART_DEFAULT_REGION_NAME,
|
|
210
|
+
s3_client: Optional[boto3.client] = None,
|
|
211
|
+
model_type: JumpStartModelType = JumpStartModelType.OPEN_WEIGHTS,
|
|
212
|
+
) -> List[JumpStartModelHeader]:
|
|
213
|
+
"""Return entire JumpStart models manifest.
|
|
214
|
+
|
|
215
|
+
Raises:
|
|
216
|
+
ValueError: If region in `cache_kwargs` is inconsistent with `region` argument.
|
|
217
|
+
|
|
218
|
+
Args:
|
|
219
|
+
region (str): Optional. The region to use for the cache.
|
|
220
|
+
s3_client (boto3.client): Optional. Boto3 client to use for accessing JumpStart models
|
|
221
|
+
s3 cache. If not set, a default client will be made.
|
|
222
|
+
"""
|
|
223
|
+
|
|
224
|
+
additional_kwargs = {}
|
|
225
|
+
if s3_client is not None:
|
|
226
|
+
additional_kwargs.update({"s3_client": s3_client})
|
|
227
|
+
|
|
228
|
+
cache_kwargs = JumpStartModelsAccessor._validate_and_mutate_region_cache_kwargs(
|
|
229
|
+
{**JumpStartModelsAccessor._cache_kwargs, **additional_kwargs},
|
|
230
|
+
region,
|
|
231
|
+
)
|
|
232
|
+
JumpStartModelsAccessor._set_cache_and_region(region, cache_kwargs)
|
|
233
|
+
return JumpStartModelsAccessor._cache.get_manifest(model_type) # type: ignore
|
|
234
|
+
|
|
235
|
+
@staticmethod
|
|
236
|
+
def get_model_header(
|
|
237
|
+
region: str,
|
|
238
|
+
model_id: str,
|
|
239
|
+
version: str,
|
|
240
|
+
model_type: JumpStartModelType = JumpStartModelType.OPEN_WEIGHTS,
|
|
241
|
+
) -> JumpStartModelHeader:
|
|
242
|
+
"""Returns model header from JumpStart models cache.
|
|
243
|
+
|
|
244
|
+
Args:
|
|
245
|
+
region (str): region for which to retrieve header.
|
|
246
|
+
model_id (str): model ID to retrieve.
|
|
247
|
+
version (str): semantic version to retrieve for the model ID.
|
|
248
|
+
"""
|
|
249
|
+
cache_kwargs = JumpStartModelsAccessor._validate_and_mutate_region_cache_kwargs(
|
|
250
|
+
JumpStartModelsAccessor._cache_kwargs, region
|
|
251
|
+
)
|
|
252
|
+
JumpStartModelsAccessor._set_cache_and_region(region, cache_kwargs)
|
|
253
|
+
return JumpStartModelsAccessor._cache.get_header( # type: ignore
|
|
254
|
+
model_id=model_id,
|
|
255
|
+
semantic_version_str=version,
|
|
256
|
+
model_type=model_type,
|
|
257
|
+
)
|
|
258
|
+
|
|
259
|
+
@staticmethod
|
|
260
|
+
def get_model_specs(
|
|
261
|
+
region: str,
|
|
262
|
+
model_id: str,
|
|
263
|
+
version: str,
|
|
264
|
+
hub_arn: Optional[str] = None,
|
|
265
|
+
s3_client: Optional[boto3.client] = None,
|
|
266
|
+
model_type=JumpStartModelType.OPEN_WEIGHTS,
|
|
267
|
+
sagemaker_session: Session = constants.DEFAULT_JUMPSTART_SAGEMAKER_SESSION,
|
|
268
|
+
) -> JumpStartModelSpecs:
|
|
269
|
+
"""Returns model specs from JumpStart models cache.
|
|
270
|
+
|
|
271
|
+
Args:
|
|
272
|
+
region (str): region for which to retrieve header.
|
|
273
|
+
model_id (str): model ID to retrieve.
|
|
274
|
+
version (str): semantic version to retrieve for the model ID.
|
|
275
|
+
s3_client (boto3.client): boto3 client to use for accessing JumpStart models s3 cache.
|
|
276
|
+
If not set, a default client will be made.
|
|
277
|
+
"""
|
|
278
|
+
|
|
279
|
+
additional_kwargs = {}
|
|
280
|
+
if s3_client is not None:
|
|
281
|
+
additional_kwargs.update({"s3_client": s3_client})
|
|
282
|
+
|
|
283
|
+
if hub_arn:
|
|
284
|
+
additional_kwargs.update({"sagemaker_session": sagemaker_session})
|
|
285
|
+
|
|
286
|
+
cache_kwargs = JumpStartModelsAccessor._validate_and_mutate_region_cache_kwargs(
|
|
287
|
+
{**JumpStartModelsAccessor._cache_kwargs, **additional_kwargs}
|
|
288
|
+
)
|
|
289
|
+
JumpStartModelsAccessor._set_cache_and_region(region, cache_kwargs)
|
|
290
|
+
|
|
291
|
+
# Users only input model id, not contentType, so first try to describe with ModelReference, then with Model
|
|
292
|
+
if hub_arn:
|
|
293
|
+
try:
|
|
294
|
+
hub_model_arn = construct_hub_model_reference_arn_from_inputs(
|
|
295
|
+
hub_arn=hub_arn, model_name=model_id, version=version
|
|
296
|
+
)
|
|
297
|
+
model_specs = JumpStartModelsAccessor._cache.get_hub_model_reference(
|
|
298
|
+
hub_model_reference_arn=hub_model_arn
|
|
299
|
+
)
|
|
300
|
+
model_specs.set_hub_content_type(HubContentType.MODEL_REFERENCE)
|
|
301
|
+
return model_specs
|
|
302
|
+
|
|
303
|
+
except Exception as ex:
|
|
304
|
+
logging.info(
|
|
305
|
+
"Received exeption while calling APIs for ContentType ModelReference, \
|
|
306
|
+
retrying with ContentType Model: "
|
|
307
|
+
+ str(ex)
|
|
308
|
+
)
|
|
309
|
+
hub_model_arn = construct_hub_model_arn_from_inputs(
|
|
310
|
+
hub_arn=hub_arn, model_name=model_id, version=version
|
|
311
|
+
)
|
|
312
|
+
|
|
313
|
+
# Failed to describe ModelReference, try with Model
|
|
314
|
+
try:
|
|
315
|
+
model_specs = JumpStartModelsAccessor._cache.get_hub_model(
|
|
316
|
+
hub_model_arn=hub_model_arn
|
|
317
|
+
)
|
|
318
|
+
model_specs.set_hub_content_type(HubContentType.MODEL)
|
|
319
|
+
|
|
320
|
+
return model_specs
|
|
321
|
+
except Exception as ex:
|
|
322
|
+
# Failed with both, throw a custom error message
|
|
323
|
+
raise RuntimeError(
|
|
324
|
+
f"Cannot get details for {model_id} in Hub {hub_arn}. \
|
|
325
|
+
{model_id} does not exist as a Model or ModelReference: \n"
|
|
326
|
+
+ str(ex)
|
|
327
|
+
)
|
|
328
|
+
|
|
329
|
+
return JumpStartModelsAccessor._cache.get_specs( # type: ignore
|
|
330
|
+
model_id=model_id, version_str=version, model_type=model_type
|
|
331
|
+
)
|
|
332
|
+
|
|
333
|
+
@staticmethod
|
|
334
|
+
def set_cache_kwargs(cache_kwargs: Dict[str, Any], region: str = None) -> None:
|
|
335
|
+
"""Sets cache kwargs, clears the cache.
|
|
336
|
+
|
|
337
|
+
Raises:
|
|
338
|
+
ValueError: If region in `cache_kwargs` is inconsistent with `region` argument.
|
|
339
|
+
|
|
340
|
+
Args:
|
|
341
|
+
cache_kwargs (str): cache kwargs to validate.
|
|
342
|
+
region (str): Optional. The region to validate along with the kwargs.
|
|
343
|
+
"""
|
|
344
|
+
cache_kwargs = JumpStartModelsAccessor._validate_and_mutate_region_cache_kwargs(
|
|
345
|
+
cache_kwargs, region
|
|
346
|
+
)
|
|
347
|
+
JumpStartModelsAccessor._cache_kwargs = cache_kwargs
|
|
348
|
+
if region is None:
|
|
349
|
+
JumpStartModelsAccessor._cache = cache.JumpStartModelsCache(
|
|
350
|
+
**JumpStartModelsAccessor._cache_kwargs
|
|
351
|
+
)
|
|
352
|
+
else:
|
|
353
|
+
JumpStartModelsAccessor._curr_region = region
|
|
354
|
+
JumpStartModelsAccessor._cache = cache.JumpStartModelsCache(
|
|
355
|
+
region=region, **JumpStartModelsAccessor._cache_kwargs
|
|
356
|
+
)
|
|
357
|
+
|
|
358
|
+
@staticmethod
|
|
359
|
+
def reset_cache(cache_kwargs: Dict[str, Any] = None, region: Optional[str] = None) -> None:
|
|
360
|
+
"""Resets cache, optionally allowing cache kwargs to be passed to the new cache.
|
|
361
|
+
|
|
362
|
+
Raises:
|
|
363
|
+
ValueError: If region in `cache_kwargs` is inconsistent with `region` argument.
|
|
364
|
+
|
|
365
|
+
Args:
|
|
366
|
+
cache_kwargs (str): cache kwargs to validate.
|
|
367
|
+
region (str): The region to validate along with the kwargs.
|
|
368
|
+
"""
|
|
369
|
+
cache_kwargs_dict = {} if cache_kwargs is None else cache_kwargs
|
|
370
|
+
JumpStartModelsAccessor.set_cache_kwargs(cache_kwargs_dict, region)
|
|
371
|
+
|
|
372
|
+
@staticmethod
|
|
373
|
+
@deprecated()
|
|
374
|
+
def get_manifest(
|
|
375
|
+
cache_kwargs: Optional[Dict[str, Any]] = None, region: Optional[str] = None
|
|
376
|
+
) -> List[JumpStartModelHeader]:
|
|
377
|
+
"""Return entire JumpStart models manifest.
|
|
378
|
+
|
|
379
|
+
Raises:
|
|
380
|
+
ValueError: If region in `cache_kwargs` is inconsistent with `region` argument.
|
|
381
|
+
|
|
382
|
+
Args:
|
|
383
|
+
cache_kwargs (Dict[str, Any]): Optional. Cache kwargs to use.
|
|
384
|
+
(Default: None).
|
|
385
|
+
region (str): Optional. The region to use for the cache.
|
|
386
|
+
(Default: None).
|
|
387
|
+
"""
|
|
388
|
+
cache_kwargs_dict: Dict[str, Any] = {} if cache_kwargs is None else cache_kwargs
|
|
389
|
+
JumpStartModelsAccessor.set_cache_kwargs(cache_kwargs_dict, region)
|
|
390
|
+
return JumpStartModelsAccessor._cache.get_manifest() # type: ignore
|
|
@@ -0,0 +1,69 @@
|
|
|
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 imports all JumpStart artifact functions from the respective sub-module."""
|
|
14
|
+
from sagemaker.core.jumpstart.artifacts.resource_names import ( # noqa: F401
|
|
15
|
+
_retrieve_resource_name_base,
|
|
16
|
+
)
|
|
17
|
+
from sagemaker.core.jumpstart.artifacts.incremental_training import ( # noqa: F401
|
|
18
|
+
_model_supports_incremental_training,
|
|
19
|
+
)
|
|
20
|
+
from sagemaker.core.jumpstart.artifacts.image_uris import _retrieve_image_uri # noqa: F401
|
|
21
|
+
from sagemaker.core.jumpstart.artifacts.script_uris import ( # noqa: F401
|
|
22
|
+
_retrieve_script_uri,
|
|
23
|
+
_model_supports_inference_script_uri,
|
|
24
|
+
)
|
|
25
|
+
from sagemaker.core.jumpstart.artifacts.model_uris import ( # noqa: F401
|
|
26
|
+
_retrieve_model_uri,
|
|
27
|
+
_model_supports_training_model_uri,
|
|
28
|
+
)
|
|
29
|
+
from sagemaker.core.jumpstart.artifacts.hyperparameters import ( # noqa: F401
|
|
30
|
+
_retrieve_default_hyperparameters,
|
|
31
|
+
)
|
|
32
|
+
from sagemaker.core.jumpstart.artifacts.environment_variables import ( # noqa: F401
|
|
33
|
+
_retrieve_default_environment_variables,
|
|
34
|
+
)
|
|
35
|
+
from sagemaker.core.jumpstart.artifacts.kwargs import ( # noqa: F401
|
|
36
|
+
_retrieve_model_init_kwargs,
|
|
37
|
+
_retrieve_model_deploy_kwargs,
|
|
38
|
+
_retrieve_estimator_init_kwargs,
|
|
39
|
+
_retrieve_estimator_fit_kwargs,
|
|
40
|
+
)
|
|
41
|
+
from sagemaker.core.jumpstart.artifacts.instance_types import ( # noqa: F401
|
|
42
|
+
_retrieve_default_instance_type,
|
|
43
|
+
_retrieve_instance_types,
|
|
44
|
+
)
|
|
45
|
+
from sagemaker.core.jumpstart.artifacts.metric_definitions import ( # noqa: F401
|
|
46
|
+
_retrieve_default_training_metric_definitions,
|
|
47
|
+
)
|
|
48
|
+
from sagemaker.core.jumpstart.artifacts.predictors import ( # noqa: F401
|
|
49
|
+
_retrieve_serializer_from_content_type,
|
|
50
|
+
_retrieve_deserializer_from_accept_type,
|
|
51
|
+
_retrieve_default_deserializer,
|
|
52
|
+
_retrieve_default_serializer,
|
|
53
|
+
_retrieve_deserializer_options,
|
|
54
|
+
_retrieve_serializer_options,
|
|
55
|
+
_retrieve_default_content_type,
|
|
56
|
+
_retrieve_default_accept_type,
|
|
57
|
+
_retrieve_supported_accept_types,
|
|
58
|
+
_retrieve_supported_content_types,
|
|
59
|
+
)
|
|
60
|
+
from sagemaker.core.jumpstart.artifacts.model_packages import ( # noqa: F401
|
|
61
|
+
_retrieve_model_package_arn,
|
|
62
|
+
_retrieve_model_package_model_artifact_s3_uri,
|
|
63
|
+
)
|
|
64
|
+
from sagemaker.core.jumpstart.artifacts.payloads import ( # noqa: F401
|
|
65
|
+
_retrieve_example_payloads,
|
|
66
|
+
)
|
|
67
|
+
from sagemaker.core.jumpstart.artifacts.resource_requirements import ( # noqa: F401
|
|
68
|
+
_retrieve_default_resources,
|
|
69
|
+
)
|