本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
外部库和内核安装
重要
目前,笔记本实例环境中的所有软件包均已获得与 Amazon A SageMaker I 配合使用的许可,不需要额外的商业许可。但是,这可能会在未来发生变化,我们建议定期查看许可条款以了解任何更新。
Amazon SageMaker 笔记本实例已经安装了多个环境。这些环境包含 Jupyter 内核和 Python 包,包括:scikit、Pandas、、和。 NumPy TensorFlow MXNet当您停止和启动笔记本实例时,这些环境以及
sample-notebooks
文件夹中的所有文件均会刷新。您也可以安装自己的包含所选软件包和内核的环境。
Amazon SageMaker 笔记本实例中的不同 Jupyter 内核是独立的 conda 环境。有关 conda 环境的信息,请参阅
Conda
文档中的
管理环境
在笔记本实例的 Amazon EBS 卷上安装自定义环境和内核。这样可以确保在您停止和重启笔记本实例时它们仍然存在,并且您安装的任何外部库都不会被 SageMaker AI 更新。为此,可使用一个生命周期配置,该配置既包括创建笔记本实例 (
on-create)
) 时运行的脚本,也包括每次重新启动笔记本实例 (
on-start
) 时运行的脚本。有关使用笔记本实例生命周期配置的更多信息,请参阅
使用LCC脚本自定义 SageMaker 笔记本实例
。
SageMaker AI Notebook Instance Lifecycle Config 示例中有一个包含示例生命周期配置脚本
https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-create.sh 和 https://github.com/aws-samples/ amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on
on-create
脚本会安装
ipykernel
库来创建自定义环境作为 Jupyter 内核,然后使用
pip install
和
conda
install
来安装库。您可以调整脚本以创建自定义环境并安装所需的库。 SageMaker 当您停止并重新启动 notebook 实例时,AI 不会更新这些库,因此您可以确保您的自定义环境中包含所需的特定版本的库。
on-start
脚本会将您创建的任何自定义环境安装为 Jupyter 内核,这样它们就会出现在 Jupyter
新建
菜单的下拉列表中。
软件包安装工具
SageMaker 笔记本支持以下软件包安装工具:
-
conda 安装
-
pip 安装
您可以使用以下方法安装软件包:
生命周期配置脚本。
有关脚本示例,请参阅
SageMaker AI Notebook 实例生命周期配置示例
笔记本 – 支持以下命令。
-
%conda install
-
%pip install
Jupyter 终端 – 您可以直接使用 pip 和 conda 安装软件包。
在笔记本中,您可以使用系统命令语法(以 ! 开头的行)安装软件包,例如
!pip install
和
!conda install
。最近,新命令已添加到IPython:
%pip
和
%conda
。这些命令是从笔记本安装软件包的推荐方式,因为它们会正确考虑使用中的活动环境或解释器。有关更多信息,请参阅
添加 %pip 和 %conda 魔术函数
Conda
Conda 是一个开源软件包管理系统和环境管理系统,可以安装软件包及其依赖项。 SageMaker AI 支持将 Conda 与两个主通道中的任何一个一起使用,即默认频道和 conda-forge 频道。有关更多信息,请参阅
Conda 通道
注意
由于 Conda 解决依赖关系图的方式,从 conda-forge 安装软件包可能需要更长的时间(在最坏的情况下,可能需要 10 分钟以上)。
深度学习AMI附带了许多 conda 环境和许多预装软件包。由于预装软件包数量众多,要找到一组保证兼容的软件包非常困难。您可能会看到“环境不一致,请仔细检查软件包计划”的警告。尽管有此警告, SageMaker AI 仍可确保所有 SageMaker AI 提供的环境都是正确的。 SageMaker AI 无法保证任何用户安装的软件包都能正常运行。
注意
在2024年2月1日 AWS Deep Learning AMIs 之前, SageMaker 人工智能和亚马逊的用户在这些服务中使用Anaconda时,无需获得商业许可EMR即可访问商用Anaconda存储库。对于 2024 年 2 月 1 日之后使用商用 Anaconda 存储库的情况,客户应自行确定其 Anaconda 许可证要求。
Conda 有两种激活环境的方法:con activate/deactivate, and source
activate/deactivate da。有关更多信息,请参阅
我应该在 Linux 中使用“conda 激活”还是“源代码激活”
SageMaker AI 支持将 Conda 环境迁移到 Amazon EBS 卷上,该卷在实例停止时会持续存在。当环境安装到根卷时,环境不会被持久化,这是默认行为。有关生命周期脚本的示例,请参阅
persistent-conda-ebs
支持的 conda 操作(请参阅本主题底部的注释)
Pip 实际上是安装和管理 Python 软件包的工具。默认情况下,Pip 在 Python 软件包索引 (PyPI) 上搜索软件包。与 Conda 不同,pip 没有内置的环境支持,在涉及具有本机/系统库依赖关系的软件包方面也不像 Conda 那么彻底。Pip 可以用来在 Conda 环境中安装软件包。
您可以将替代软件包存储库与 Pip 一起使用,而不是 PyPI。有关生命周期脚本示例,请参阅
on-start.sh