aws / aws/sagemaker-python-sdk

[Bug Report] Unable to use Join with pipeline parameters within ConditionGreaterThanOrEqualTo

オープン
#4,418 コメント 4 件 リアクション 0 件 担当者 1 名 @nargokul が担当を希望しています GitHub で見る
component: pipelines type: feature request
主要言語
Python
スター
2.3k
フォーク
1.3k
平均マージ
1日 22時間
マージ済み PR(30日)
35

説明

**Describe the bug**
When defining a condition step like in the code snippet below, if one is using a parameter for the evaluation metric (commented out line) to enable switching model evaluation metric at pipeline execution creation, the pipeline upsert fails since it expects the json_path to be valid json.
Should it not be supported to have this evaluation metric be a parameter?
I am already running everything using pipeline sessions, though there does not seem to be a way to specify that in the ConditionStep.

```
cond_gte = ConditionGreaterThanOrEqualTo(
left=JsonGet(
step_name=step_evaluate_model.name,
property_file=evaluation_report,
# json_path = Join(on=".", values=["binary_classification_metrics", param_eval_metric, "value"]), # this doesnt work! json_path must be json serializable
json_path=f"binary_classification_metrics.{eval_metric}.value"
),
right=param_eval_threshold,
)

step_condition_check = ConditionStep(
name="evaluation-greater-than-threshold-condition",
conditions=[cond_gte],
if_steps=[step_register_model],
else_steps=[step_fail],
)
```

I am using sagemaker 2.207.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。