aws / aws/sagemaker-python-sdk

Initialization of default JumpStart SageMaker Session is slow

未关闭
#4,468 2 条评论 6 个 reaction 已指派 1 人 已被 @rsareddy0329 认领 在 GitHub 查看
component: jumpstart type: bug
主要语言
Python
星标
2.3k
派生
1.3k
平均合并
1 天 22 小时
30 天内合并 PR
35

描述

Through the following import chain, the `DEFAULT_JUMPSTART_SAGEMAKER_SESSION` constant is initialized:

```
(.venv\Lib\site-packages\sagemaker\jumpstart\constants.py:237)
(.venv\Lib\site-packages\sagemaker\image_uris.py:24)
(.venv\Lib\site-packages\sagemaker\estimator.py:30)
(.venv\Lib\site-packages\sagemaker\__init__.py:18)
```

This involves creating many boto clients (at least 5 by my count), each time trying to find AWS credentials using botocore's `CredentialResolver.load_credentials` which (because I don't have credentials in environment variables, I'm using STS internally) ends up making slow network requests and is generally inefficient (searches through 11 credential providers). In total it is adding 13 seconds to my local startup time.

I'm using my own SageMaker `Session` whenever creating a new `Predictor`, and I don't believe I'm ever using the `DEFAULT_JUMPSTART_SAGEMAKER_SESSION` (if I modify the SDK source to skip its initialization everything still works). Could it be lazily loaded internally?

**System information**
- **SageMaker Python SDK version**: 2.210.0
- **Python version**: 3.11

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。