sagemaker 2.232.0__tar.gz → 2.232.2__tar.gz

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