簡體   English   中英

訪問 Sagemaker 管道中 Lambda 步驟的返回值

[英]Accessing the return value of a Lambda Step in Sagemaker pipeline

我添加了一個 Lambda 步驟作為我的 Sagemaker 管道中的第一步。 它處理一些數據並創建 2 個文件作為 output 的一部分,如下所示:

from sagemaker.workflow.lambda_step import LambdaStep, Lambda, LambdaOutput, LambdaOutputTypeEnum

# lamb_preprocess = LambdaStep(func_arn="")

output_param_1 = LambdaOutput(output_name="status", output_type=LambdaOutputTypeEnum.Integer)
output_param_2 = LambdaOutput(output_name="file_name_a_c_drop", output_type=LambdaOutputTypeEnum.String)
output_param_3 = LambdaOutput(output_name="file_name_q_c_drop", output_type=LambdaOutputTypeEnum.String)

step_lambda = LambdaStep(
    name="ProcessingLambda",
    lambda_func=Lambda(
        function_arn="arn:aws:lambda:us-east-1:xxxxxxxx:function:xxxxx"
    ),
    inputs={
        "input_data": input_data,
        "input_file": trigger_file,
        "input_bucket": trigger_bucket
    },
    outputs = [
        output_param_1, output_param_2, output_param_3
    ]
)

在我的下一步中,我想觸發一個處理作業,我需要將上面 Lambda 函數的輸出作為輸入傳遞給它。 我正在嘗試這樣做:

inputs = [
    ProcessingInput(source=step_lambda.properties.Outputs["file_name_q_c_drop"], destination="/opt/ml/processing/input"),
    ProcessingInput(source=step_lambda.properties.Outputs["file_name_a_c_drop"], destination="/opt/ml/processing/input"),
]

但是,當嘗試創建處理步驟時,我收到一條驗證消息說

Object of type Properties is not JSON serializable

我在這里遵循了數據依賴文檔: https:https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_model_building_pipeline.html#lambdastep並嘗試訪問step_lambda.OutputParameters["file_name_a_c_drop"]但它出錯說'LambdaStep' object has no attribute 'OutputParameters'

如何在 Sagemaker 管道中正確訪問 LambdaStep 的返回值?

您可以按以下方式訪問 output - step_lambda.OutputParameters["output1"] 您不需要添加.properties

要在另一個步驟中訪問 LambdaStep output,您可以執行以下操作:

step_lambda.properties.Outputs["file_name_a_c_drop"]

嘗試這個

steplambda.properties.ProcessingOutputConfig.Outputs["file_name_q_c_drop"].S3Output.S3Uri

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM