1

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 プラットフォーム パイプライン デプロイメントを使用しています。

どんな助けでも大歓迎です。

4

2 に答える 2