如何在使用 aws Sagemaker python SDK 时保存来自训练作业的未压缩输出?

时间:2020-12-23 08:15:07

标签: python boto3 amazon-sagemaker

我正在尝试以非压缩方式将训练作业工件上传到 S3。

我熟悉可以提供给 sagemaker Estimator 的 output_dir,然后保存在 /opt/ml/output 下的所有内容都会压缩上传到 S3 输出目录。

我希望可以选择访问特定的工件,而不必每次都解压缩输出。有没有干净的方法来解决它?如果没有任何解决方法? 我感兴趣的工件是小的元数据文件 .txt 或 .csv,而在我的情况下,其余的工件可能约为 1GB,因此下载和解压缩相当多。

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

我最终使用了检查点路径,该路径默认以未压缩的方式与指定的 S3 路径同步。

答案 1 :(得分:0)

我认为您可以简单地指定一个 s3 位置路径来将您的工件保存在您的训练脚本中。但是,我不完全确定 sagemaker 创建的实例是否有权直接写入 S3,也许它们也是网络隔离的。为了实时阅读 tensorflow 日志,我或多或少地做了你所说的,但我正在使用自定义图像进行训练。有兴趣的可以看看here