如何在不同的 Sagemaker 实例之间复制笔记本?
How to copy notebooks between different Sagemaker instances?
我的搜索没有找到任何有用的信息,所以我想知道是否有任何简单的方法可以在 Sagemaker 上将笔记本从一个实例复制到另一个实例?当然,除了在一个实例上手动下载笔记本并上传到另一个实例之外!
感谢您使用 Amazon SageMaker。
不幸的是,建议的方式只是在笔记本实例之间共享笔记本的方式。
如果有任何其他方式可以提供帮助,请告诉我们。
推荐的方法(截至 2018 年 12 月 16 日)是使用新推出的 Git SageMaker 笔记本实例集成。
- 为您的笔记本创建 Git 存储库
- 提交更改并将其从笔记本实例 #1 推送到您的 Git 存储库
- 使用相同的 Git 存储库启动笔记本实例 #2
这样,您的笔记本将保存在 Git 存储库中而不是实例中,并且 Git 存储库可以由多个实例共享。
一种简单的传输方式是 tar(类似压缩)文件并下载。在新实例中上传然后untar.
tar --帮助
我可能会迟到,但我最近不得不处理将 Sagemaker 笔记本的内容复制到另一个笔记本的问题。对于亚马逊 Linux 1 (al1) 平台上的 Sagemaker 笔记本用户来说,这个问题可能会变得很紧迫。此类笔记本具有 'notebook-al1-v1' 平台标识符。亚马逊于 2022 年 4 月 22 日宣布“Amazon SageMaker Notebook Instance is ending its standard support on Amazon Linux AMI (AL1)”。
现在,将文件从一个 Sagemaker 实例复制到另一个实例需要执行哪些步骤。或者,换句话说,如何将附加到一个实例(我们称之为 A)的 EBS 卷同步到实例 B。
亚马逊发布了 step-by-step explanation how to do it。这个想法首先是将笔记本 A 的 EBS 卷同步到一个专门创建的 AWS s3 存储桶,其次是将该 s3 存储桶的内容同步到笔记本 B。我按照 post 中的说明进行操作,但它对我 ))。后来发现亚马逊解决方案中提供的'migrate-ebs-data-backup'中的脚本'on_start.sh'在创建s3 bucket时存在一些问题
我个人发现,与其按照亚马逊 post 的建议进行操作,不如通过控制台手动创建临时购物篮(我们称之为 'ebs-data-backup'),然后:
启动notebook A的Terminal,输入以下代码,将notebook A的内容同步到bucket 'ebs-data-backup'
$ cd /home/ec2-user/SageMaker
$ BUCKET_NAME=ebs-data-backup
$ 时间戳=date +%F-%H-%M-%S
$快照=${NOTEBOOK_NAME}_${TIMESTAMP}
$ aws s3 sync --exclude "/lost+found/" /home/ec2-user/SageMaker/ s3://${BUCKET_NAME}/${SNAPSHOT}/
启动笔记本 B,在笔记本 B 中启动终端并输入以下代码:
$ cd /home/ec2-user/SageMaker
$ aws s3 同步 s3://${BUCKET_NAME}/${SNAPSHOT}/ /home/ec2-user/SageMaker/`
在笔记本 B 中,BUCKET_NAME 和 SNAPSHOT 使用与笔记本 B
中相同的值
echo "THAT SHOULD BE IT. HOPE IT HELPS"
我的搜索没有找到任何有用的信息,所以我想知道是否有任何简单的方法可以在 Sagemaker 上将笔记本从一个实例复制到另一个实例?当然,除了在一个实例上手动下载笔记本并上传到另一个实例之外!
感谢您使用 Amazon SageMaker。
不幸的是,建议的方式只是在笔记本实例之间共享笔记本的方式。
如果有任何其他方式可以提供帮助,请告诉我们。
推荐的方法(截至 2018 年 12 月 16 日)是使用新推出的 Git SageMaker 笔记本实例集成。
- 为您的笔记本创建 Git 存储库
- 提交更改并将其从笔记本实例 #1 推送到您的 Git 存储库
- 使用相同的 Git 存储库启动笔记本实例 #2
这样,您的笔记本将保存在 Git 存储库中而不是实例中,并且 Git 存储库可以由多个实例共享。
一种简单的传输方式是 tar(类似压缩)文件并下载。在新实例中上传然后untar.
tar --帮助
我可能会迟到,但我最近不得不处理将 Sagemaker 笔记本的内容复制到另一个笔记本的问题。对于亚马逊 Linux 1 (al1) 平台上的 Sagemaker 笔记本用户来说,这个问题可能会变得很紧迫。此类笔记本具有 'notebook-al1-v1' 平台标识符。亚马逊于 2022 年 4 月 22 日宣布“Amazon SageMaker Notebook Instance is ending its standard support on Amazon Linux AMI (AL1)”。
现在,将文件从一个 Sagemaker 实例复制到另一个实例需要执行哪些步骤。或者,换句话说,如何将附加到一个实例(我们称之为 A)的 EBS 卷同步到实例 B。
亚马逊发布了 step-by-step explanation how to do it。这个想法首先是将笔记本 A 的 EBS 卷同步到一个专门创建的 AWS s3 存储桶,其次是将该 s3 存储桶的内容同步到笔记本 B。我按照 post 中的说明进行操作,但它对我 ))。后来发现亚马逊解决方案中提供的'migrate-ebs-data-backup'中的脚本'on_start.sh'在创建s3 bucket时存在一些问题
我个人发现,与其按照亚马逊 post 的建议进行操作,不如通过控制台手动创建临时购物篮(我们称之为 'ebs-data-backup'),然后:
启动notebook A的Terminal,输入以下代码,将notebook A的内容同步到bucket 'ebs-data-backup'
$ cd /home/ec2-user/SageMaker
$ BUCKET_NAME=ebs-data-backup
$ 时间戳=date +%F-%H-%M-%S
$快照=${NOTEBOOK_NAME}_${TIMESTAMP}
$ aws s3 sync --exclude "/lost+found/" /home/ec2-user/SageMaker/ s3://${BUCKET_NAME}/${SNAPSHOT}/启动笔记本 B,在笔记本 B 中启动终端并输入以下代码:
$ cd /home/ec2-user/SageMaker
$ aws s3 同步 s3://${BUCKET_NAME}/${SNAPSHOT}/ /home/ec2-user/SageMaker/`
在笔记本 B 中,BUCKET_NAME 和 SNAPSHOT 使用与笔记本 B
中相同的值echo "THAT SHOULD BE IT. HOPE IT HELPS"