raj*_*ish 6 aws-sdk amazon-sagemaker
我们正在使用使用 ecs 容器的 aws sagemaker,有没有办法,我们可以在使用低级 python sdk 调用 sagemaker api 时在容器中设置环境变量(例如 stage 或 prod)
即使直接调用API(比使用python SDK 级别低)也不能直接在容器内设置环境任意变量。但是,您可以将任意超参数作为 TrainingJob 的配置传入,例如传入像{"mystage": "prod"}. 超参数显示在容器中一个名为的文件中,该文件/opt/ml/input/config/hyperparameters.json是一个简单的键值映射作为 JSON 对象。您可以使用它在启动脚本中设置环境变量,如下所示:
#!/bin/bash
export STAGE=$(jq -r ".mystage" /opt/ml/input/config/hyperparameters.json)
# Now run your code...
Run Code Online (Sandbox Code Playgroud)
你可以SageMaker由作出的任何调用这个脚本ENTRYPOINT在你Dockerfile,或致电它train并确保它是在PATH对外壳,如果你不设置的ENTRYPOINT。
您可以为 ECS 任务配置环境变量,这是区分 dev/prod 模式的常用变量。
环境 - 要传递给容器的环境变量。此参数映射到 Docker Remote API 的创建容器部分中的 Env 以及 docker run 的 --env 选项。
我的回答与 Sagemaker 无关,因为我认为该问题仅涉及 ECS。
| 归档时间: |
|
| 查看次数: |
5616 次 |
| 最近记录: |