您如何在 windows 上为 SageMaker 编写生命周期配置?

How do you write lifecycle configurations for SageMaker on windows?

我正在尝试为 SageMaker sketchbook(它最终只是一个 .sh 文件)设置启动生命周期配置,似乎无论我做什么,我的笔记本在启动时都会超时。我尽可能地简化了所有内容,以至于注释掉了 #!/bin/bash 以外的所有内容,但我仍然超时。检查 cloudwatch 这显示在日志中:

/bin/bash: /tmp/OnStart_2020-08-11-07-01jgfhhkwa: /bin/bash^M: bad interpreter: No such file or directory

通过测试,我还发现如果我在 #!/bin/bash 之前添加一个回车符 return 我会在日志中得到这个:

/tmp/OnStart_2020-08-11-06-444y3fobzp: line 1: $'\r': command not found

基于this on the \r error, and this on the ^M error,这似乎是windows和unix格式文本之间的不兼容。但是,我正在 windows 机器上通过 aws 编辑生命周期配置:

有没有什么方法可以让我通过 AWS 在我的 windows 机器上编辑这个字段,但它在另一端用 unix 正确编写?

这确实与基于 this 的不同 os' 中的特殊字符表示有关,您可以使用记事本++轻松地将 dos 表示转换为 unix 表示,然后只需“粘贴为纯文本”,它就可以正常工作

  • 复制到记事本++查看
  • 显示符号
  • 显示所有符号
  • 将“/r”替换为空 CRLF 应成为在 unix 中有效的 LF
  • 复制并粘贴为纯文本

这样做解决了问题