能否将Sagemaker Workflow参数传递给SKLearnProcessor?
AWS SageMaker管道中传递Workflow参数至预处理脚本的可行性确认
我正在创建AWS SageMaker管道,希望在评估步骤中向preprocess.py脚本传递参数。目前网上的示例均采用静态值传递,但我需要传递一个Workflow字符串参数。尝试多种方法均未成功,已在GitHub提交Issue但尚未收到回复,该Issue详细记录了所有尝试过的方法,核心问题在于Workflow参数仅在运行时求值,现需确认此需求是否可行。
方案1:常规方式——传递静态值
sklearn_processor.run( code="preprocess.py", inputs = [ ProcessingInput(source = 'my_package/', destination = '/opt/ml/processing/input/code/my_package/') ], outputs=[ ProcessingOutput(output_name="test_transform_data", source = '/opt/ml/processing/output/test_transform', destination = out_path), ], arguments=["--time-slot-minutes", "30min"] )
方案2:尝试传递Workflow参数
step_args=myprocessor.run( inputs=[ ProcessingInput(source=s3_full_address, destination="/opt/ml/processing/input"), ], outputs=[ ProcessingOutput(output_name="raw", source="/opt/ml/processing/train"), ProcessingOutput(output_name="test", source="/opt/ml/processing/test"), ], code="generate_train_test_data.py", arguments=["--s3_prefix", s3_prefix] )
其中s3_prefix是定义为s3_prefix = ParameterString(name="InputPrefix", default_value="myprefix")的工作流参数。
内容的提问来源于stack exchange,提问作者A.Shoman
相关产品推荐
相关产品推荐

