AWS Sagemaker - 安装外部库并使其持久化

AWS Sagemaker - Install External Library and Make it Persist

我有一个 sagemaker 实例,运行 我有一些我经常使用的库,但每次我重新启动实例时,它们都会被擦除,我必须重新安装它们。是否可以将我的库安装到 anaconda 环境之一并保留更改?

创建模型时,可以将 requirements.txt 指定为环境变量。

例如

env = {
    'SAGEMAKER_REQUIREMENTS': 'requirements.txt', # path relative to `source_dir` below.
}
sagemaker_model = TensorFlowModel(model_data = 's3://mybucket/modelTarFile,
                                  role = role,
                                  entry_point = 'entry.py',
                                  code_location = 's3://mybucket/runtime-code/',
                                  source_dir = 'src',
                                  env = env,
                                  name = 'model_name',
                                  sagemaker_session = sagemaker_session,
                                 )

这将确保在创建 docker 容器之后,运行 在其上添加任何代码之前,需求文件是 运行。

Sagemaker 笔记本实例支持的方法是使用 生命周期配置

您可以创建一个 onStart 生命周期挂钩,它可以在您的笔记本实例每次启动时将所需的包安装到相应的 Conda 环境中。

请参阅以下博客post了解更多详情

https://aws.amazon.com/blogs/machine-learning/customize-your-amazon-sagemaker-notebook-instances-with-lifecycle-configurations-and-the-option-to-disable-internet-access/