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

时间:2018-06-30 17:34:15

标签: amazon-web-services amazon-sagemaker

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

2 个答案:

答案 0 :(得分:2)

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

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

有关更多详细信息,请参见以下博客文章

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

答案 1 :(得分:1)

在创建模型时,可以将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容器之后运行需求文件,然后在其上运行任何代码。