3 つのコンテナー化されたコンポーネントで構成されるパイプラインがあります。最後のコンポーネントでは、こちらで/mlpipeline-metrics.json
説明されているように、必要なメトリックを という名前のファイルに書き込みます。これは私が使用した Python コードです。
metrics = {
'metrics': [
{
'name': 'accuracy',
'numberValue': accuracy,
'format': 'PERCENTAGE',
},
{
'name': 'average-f1-score',
'numberValue': average_f1_score,
'format': 'PERCENTAGE'
},
]
}
with open('/mlpipeline-metrics.json', 'w') as f:
json.dump(metrics, f)
上記のリンクの例と同じように、次のコードでファイルを書き込んでみました。
with file_io.FileIO('/mlpipeline-metrics.json', 'w') as f:
json.dump(metrics, f)
パイプラインはエラーなしで正常に実行されます。ただし、フロントエンド UI にメトリックは表示されません。
次のコードブロックと関係があると思います。
def metric_op(accuracy, f1_scores):
return dsl.ContainerOp(
name='visualize_metrics',
image='gcr.io/mgcp-1190085-asml-lpd-dev/kfp/jonas/container_tests/image_metric_comp',
arguments=[
'--accuracy', accuracy,
'--f1_scores', f1_scores,
]
)
ContainerOp
これは、コンテナー化されたコンポーネントからを作成するために使用するコードです。何も指定していないことに注意してくださいfile_outputs
。他には、パイプラインの次のステップに変数を渡すことができるようContainerOp
に指定する必要があります。kubeflow パイプラインがそれを検出できるように、何かfile_outputs
にマップするためにここで同様のことを行う必要がありますか?/mlpipeline-metrics.json
Python 3.6.8 で Kubeflow Pipelines 0.2.5 を実行するマネージド AI プラットフォーム パイプライン デプロイメントを使用しています。
どんな助けでも大歓迎です。