在SageMaker Notebook实例上运行Aim UI

在本指南中,您将学习如何在Sagemaker Jupyter实例上运行Aim UI

Aim可以在Jupyter笔记本上安装和使用。对于SageMaker笔记本实例,由于建立POST请求存在困难,这会导致部分Aim功能无法正常工作。 因此我们构建了一个脚本来更新SageMaker笔记本实例上的代理包。 要使用Aim UI,请按照以下步骤操作:

  • 在您的SageMaker服务上创建一个生命周期配置。

  • 脚本复制粘贴到配置的Start Notebook阶段中。

如需了解更多关于如何在AWS SageMaker服务上创建生命周期配置的信息,请参阅AWS SageMaker Documentation

创建生命周期配置后,将其附加到您的SageMaker实例并重新启动实例。

也可以从您的Jupyter实例终端手动运行此脚本。

注意

这个脚本的用途是什么?

上述脚本将更新您笔记本实例上的jupyter-server-proxy包。 要访问实例上的端口(即打开Aim UI),API请求和静态文件需要通过该包创建的代理(参见脚本)。 它将替换现有代理并确保Aim及其他类似请求通过。 更多信息请参阅https://github.com/jupyterhub/jupyter-server-proxy/pull/328#issue-1145874348

一旦您的笔记本实例成功重启,您将能够在实例上使用Aim UI。

接下来,安装aim。

$ pip install aim

初始化一个新的运行并保存一些超参数。

from aim import Run

run = Run()

run['hparams'] = {
    'learning_rate': 0.001,
    'batch_size': 32,
}

使用终端

要从终端运行Aim UI,请执行以下命令:

$ aim up --base-path=/proxy/absolute/<your-port>/aim-sage

运行此命令后,您将能够在浏览器中打开/proxy/absolute//aim-sage/。 默认端口为43800

可以设置环境变量 __AIM_PROXY_URL__,运行 aim up 命令后会打印出生成的Aim UI访问地址。

要查找您的代理URL,只需复制您的SageMaker URL并移除/lab后缀。

使用Notebook扩展

  1. 加载Aim扩展以支持笔记本环境:

%load_ext aim
  1. 运行 %aim up 命令在笔记本中打开Aim UI界面:

%aim up --proxy-url=https://<instance>.notebook.<region>.sagemaker.aws

将在笔记本单元格中加载Aim UI界面。

将打印出已加载Aim UI下的代理URL。使用该URL在浏览器中打开Aim UI。

默认端口为43801用于notebook扩展以避免混淆。 同时也支持--port=参数。

注意

在笔记本扩展中,当在SageMaker上使用时,唯一必需的参数是--proxy-url