将 Amazon SageMaker Studio Lab 环境导出到 Amazon SageMaker Studio Classic - 亚马逊 SageMaker AI

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Amazon SageMaker Studio Lab 环境导出到 Amazon SageMaker Studio Classic

Amazon SageMaker Studio Classic 为机器学习和深度学习工作流提供了许多 Amazon SageMaker Studio Lab 无法提供的功能。本页介绍如何将 Studio Lab 环境迁移到 Studio Classic,以利用更多的计算容量、存储空间和功能。不过,您可能需要熟悉 Studio Classic 的预构建容器,这些容器针对完整的 MLOP 管道进行了优化。有关更多信息,请参阅 亚马逊 SageMaker Studio 实验室

要将 Studio Lab 环境迁移到 Studio Classic,您首先必须按照 亚马逊 SageMaker AI 域名概述 中的步骤登录到 Studio Classic。

步骤 1:导出 Studio Lab 的 conda 环境

您可以按照管理环境中的步骤导出 conda 环境并向环境中添加库或软件包。以下示例演示如何使用要导出到 Studio Classic 的 default 环境。

  1. 打开 Studio Lab 终端,方法是打开文件浏览器面板 ( Black square icon representing a placeholder or empty image. ),选择文件浏览器顶部菜单上的加号 (+) 以打开 Launcher,然后选择终端。在 Studio Lab 终端运行以下命令,列出 conda 环境。

    conda env list

    该命令将输出 conda 环境列表及其在文件系统中的位置。当您登录到 Studio Lab 时,会自动激活 studiolab conda 环境。

    # conda environments: # default /home/studio-lab-user/.conda/envs/default studiolab * /home/studio-lab-user/.conda/envs/studiolab studiolab-safemode /opt/amazon/sagemaker/safemode-home/.conda/envs/studiolab-safemode base /opt/conda

    我们建议您不要导出 studiolabstudiolab-safemodebase 环境。由于以下原因,Studio Classic 中无法使用这些环境:

    • studiolab:这会为 Studio Lab 设置 JupyterLab 环境。Studio Lab 运行的 JupyterLab 主版本与 Studio Classic 不同,因此无法在 Studio Classic 中使用。

    • studiolab-safemode:这也会为 Studio Lab 设置 JupyterLab 环境。Studio Lab 运行的 JupyterLab 主版本与 Studio Classic 不同,因此无法在 Studio Classic 中使用。

    • base:该环境默认使用 conda。Studio Lab 中的 base 环境和 Studio Classic 中的 base 环境有许多软件包的版本不兼容。

  2. 对于要迁移到 Studio Classic 的 conda 环境,首先要激活 conda 环境。当安装或删除新库时,default 环境也会随之改变。要获取环境的确切状态,请使用命令行将其导出为 YAML 文件。以下命令行将默认环境导出为 YAML 文件,创建一个名为 myenv.yml 的文件。

    conda activate default conda env export > ~/myenv.yml

步骤 2:保存 Studio Lab 构件

现在,您已经将环境保存到 YAML 文件中,可以将环境文件移动到任何平台上。

Save to a local machine using Studio Lab GUI
注意

通过右键单击目录从 Studio Lab GUI 下载目录的功能目前不可用。如果要导出目录,请使用保存到 Git 存储库选项卡按照步骤操作。

一种选择是将环境保存到本地电脑上。为此,请使用以下过程。

  1. 在 Studio Lab 中,选择左侧菜单上的文件浏览器图标 ( Black square icon representing a placeholder or empty image. ),这样文件浏览器面板就会显示在左侧。

  2. 选择文件搜索栏下方的文件图标,导航至用户目录。

  3. 选择(右键单击)myenv.yml 文件,然后选择下载。您可以对要导入到 Studio Classic 的其他文件重复此过程。

Save to a Git repository

另一种选择是将环境保存到 Git 存储库中。此选项以 GitHub 为例。这些步骤需要 GitHub 账户和存储库。有关更多信息,请访问 GitHub。以下过程说明如何使用 Studio Lab 终端将内容与 GitHub 同步。

  1. 从 Studio Lab 终端,导航到用户目录,并新建一个目录以包含要导出的文件。

    cd ~ mkdir <NEW_DIRECTORY_NAME>
  2. 创建新目录后,将任何要导出的文件或目录复制到 <NEW_DIRECTORY_NAME>

    使用以下代码格式复制文件:

    cp <FILE_NAME> <NEW_DIRECTORY_NAME>

    例如,将 <FILE_NAME> 替换为 myenv.yml

    使用以下代码格式复制任何目录:

    cp -r <DIRECTORY_NAME> <NEW_DIRECTORY_NAME>

    例如,将 <DIRECTORY_NAME> 替换为用户目录中的任何目录名。

  3. 导航至新目录,使用以下命令将该目录初始化为 Git 存储库。有关更多信息,请参阅 git-init 文档

    cd <NEW_DIRECTORY_NAME> git init
  4. 使用 Git 添加所有相关文件,然后提交更改。

    git add . git commit -m "<COMMIT_MESSAGE>"

    例如,将 <COMMIT_MESSAGE> 替换为 Add Amazon SageMaker Studio Lab artifacts to GitHub repository to migrate to Amazon SageMaker Studio Classic

  5. 将提交推送到远程存储库。此存储库的格式为 https://github.com/<GITHUB_USERNAME>/ <REPOSITORY_NAME>.git,其中 <GITHUB_USERNAME> 是您的 GitHub 用户名,<REPOSITORY_NAME> 是您的远程存储库名称。创建分支 <BRANCH_NAME> 以将内容推送到 GitHub 存储库。

    git branch -M <BRANCH_NAME> git remote add origin https://github.com/<GITHUB_USERNAME>/<REPOSITORY_NAME>.git git push -u origin <BRANCH_NAME>

步骤 3:将 Studio Lab 构件导入到 Studio Classic

以下过程说明如何将构件导入到 Studio Classic。通过管理控制台使用特征存放区的指令取决于您是否已启用 Studio 或 Studio Classic 作为默认体验。有关通过管理控制台访问 Studio Classic 的信息,请参阅 如果 Studio 是您的默认体验,则启动 Studio Classic

在 Studio Classic 中,您可以从本地电脑或 Git 存储库导入文件。您可使用 Studio Classic GUI 或终端完成此操作。以下过程使用步骤 2:保存 Studio Lab 构件中的示例。

Import using the Studio Classic GUI

如果将文件保存到了本地电脑,则可以通过以下步骤将文件导入到 Studio Classic。

  1. 打开 Studio Classic 左上角的文件浏览器面板 ( Black square icon representing a placeholder or empty image. )。

  2. 文件浏览器面板顶部的菜单上选择上传文件图标 ( Black square icon representing a placeholder or empty image. )。

  3. 导航到要导入的文件,然后选择打开

注意

要将目录导入到 Studio Classic,首先要将本地电脑上的目录压缩成文件。在 Mac 上,右键单击目录并选择压缩 <DIRECTORY_NAME>。在 Windows 中,右键单击目录并选择发送到,然后选择压缩的文件夹。压缩目录后,使用前面的步骤导入压缩文件。导航到 Studio Classic 终端并运行命令 <DIRECTORY_NAME>.zip 来解压缩压缩文件。

Import using a Git repository

此示例提供了两种将 GitHub 存储库克隆到 Studio Classic 的方法。您可以通过选择 Studio Classic 左侧的 Git ( Black square icon representing a placeholder or empty image. ) 选项卡来使用 Studio Classic GUI。选择克隆存储库,然后通过步骤 2:保存 Studio Lab 构件粘贴 GitHub 存储库 URL。另一种方法是使用 Studio Classic 终端,具体步骤如下。

  1. 打开 Studio Classic Launcher。有关打开 Launcher 的更多信息,请参阅 Amazon SageMaker Studio Classic Launcher

  2. Launcher笔记本和计算资源部分,选择更改环境

  3. 在 Studio Classic 中,打开 Launcher。要打开 Launcher,请在 Studio Classic 的左上角选择 Amazon SageMaker Studio Classic

    要了解打开 Launcher 的所有可用方法,请参阅使用 Amazon SageMaker Studio 经典启动器

  4. 更改环境对话框中,使用映像下拉列表选择 Data Science 映像并选定选择。此映像已预装 conda。

  5. 在 Studio Classic Launcher 中,选择打开映像终端

  6. 在映像终端中,运行以下命令来克隆存储库。此命令在 Studio Classic 实例中创建一个以 <REPOSITORY_NAME> 命名的目录,并在该存储库中克隆您的构件。

    git clone https://github.com/<GITHUB_USERNAME>/<REPOSITORY_NAME>.git

步骤 4:在 Studio Classic 中安装您的 Studio Lab conda 环境

现在,您可以在 Studio Classic 实例中使用 YAML 文件重新创建 conda 环境。打开 Studio Classic Launcher。有关打开 Launcher 的更多信息,请参阅 Amazon SageMaker Studio Classic Launcher。在 Launcher 中,选择打开映像终端。在终端中,导航到包含 YAML 文件的目录,然后运行以下命令。

conda env create --file <ENVIRONMENT_NAME>.yml conda activate <ENVIRONMENT_NAME>

完成这些命令后,您就可以选择环境作为 Studio Classic 笔记本实例的内核。要查看可用环境,请运行 conda env list。要激活您的环境,请运行 conda activate <ENVIRONMENT_NAME>