我想控制 SageMaker GUI 中显示的“名称”字段并向其传递根据 SageMaker Pipeline 执行确定的自定义值。
具体来说,我想对“名称”字段和定义用于将 SageMaker Pipeline 工件保存到 S3 的路径使用时间戳。也就是说,我将能够查看 SageMaker 执行列表并快速将其与相应的工件进行匹配。
我已经能够通过转到
run_pipeline.py
并执行来更改“名称”
execution = pipeline.start(execution_display_name='my-exec-name')
但是,我不知道应该在哪里定义时间戳,以便可以在此处和
pipeline.py
中使用它,例如。
import time
time_stamp = time.strftime("%Y-%m-%d--%H-%M-%S", time.gmtime())
使得
time_stamp
可以传递给 run_pipeline.py
和 pipeline.py
找到了一个我可以接受的解决方案。以下更改为我提供了我需要的功能。
# run_pipeline.py
import time
time_stamp = time.strftime("%Y-%m-%d--%H-%M-%S", time.gmtime())
pipeline = get_pipeline_driver(time_stamp, args.module_name, args.kwargs)
# _utils.py
def get_pipeline_driver(time_stamp, module_name, passed_args=None):
...
return _imports.get_pipeline(time_stamp, **kwargs)
def get_pipeline(
time_stamp,
...
):