【问题标题】:AWS Sagemaker - Install External Library and Make it PersistAWS Sagemaker - 安装外部库并使其持久化
【发布时间】:2018-07-03 02:19:26
【问题描述】:

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

【问题讨论】:

    标签: amazon-web-services amazon-sagemaker


    【解决方案1】:

    为 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/

    【讨论】:

    • @ardix 这是对所提问题的正确答案。
    【解决方案2】:

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

    【讨论】:

    • 如果我想让一个库持久保存在 jupyter notebook 实例中,是否可以使用类似的方法?
    • 是的,你可以。确保将“requirements.txt”放在 Jupyter 笔记本的子目录中,并在上述答案中提到的 source_directory 参数中提及该目录。
    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多