ionworks-api Python パッケージは、パイプラインの実行と管理のための client.pipeline を提供します。インストールと認証については Python API クライアント を参照してください。
パイプラインの送信
client.pipeline.create() は iws.Pipeline インスタンスでも .to_config() が返す dict でも受け取れます。スキーマインスタンスは送信前にローカルで検証されるため、形状エラーは即座に表面化します。
パイプラインを JSON にシリアライズする
送信前のペイロード確認、キャッシュ、バージョン管理へのコミット、あるいは別プロセスへの受け渡しなど、パイプラインを JSON として扱いたい場合は.to_config() を使用してください。
送信メタデータの上書き
create() は、スキーマに含まれる値を上書きするための project_id、name、description、options を kwargs として受け付けます。
project_id を省略した場合、クライアントは Ionworks(...) のデフォルト、または環境変数 IONWORKS_PROJECT_ID にフォールバックします。
完了待ち
raise_on_failure=False を指定します。
結果の取得
result.element_results のキーは iws.Pipeline(elements=...) に渡したキーと対応します。
要素のメタデータ
一部の要素(特にValidation)は element_results に含まれない追加メタデータを書き込みます。それらは次で取得できます。
データフィッティングのパラメータトレース
データフィッティング要素では、オプティマイザの反復ごとの進行状況が要素ジョブの メタデータに記録されます。要素のジョブ ID を渡してclient.job.get_parameter_trace で取得できます。詳細なスキーマは
パラメータトレースの取得を
参照してください。
要素の job_id は element_results ではなくパイプラインの要素一覧に
含まれているため、一覧を取得してデータフィッティング要素を名前で
取り出します。
パイプライン一覧
単一送信の取得
SimplePipeline
SimplePipeline は、高コストな要素が最大 1 つ(単一の DataFit または Validation)のワークフロー向けの、Pipeline の軽量な代替手段です。ファイア・アンド・フォーゲット方式で実行され、parameter_values、cost、そして(検証の場合は)summary_stats を含むフラットな結果を返します。送信とポーリングは client.simple_pipeline を通じて行います。
設定の構築
SimplePipeline は Pipeline からすべてを継承し、高コストな要素を複数含む設定を拒否するクライアントサイドの検証を追加します。
複数の
DataFit または Validation 要素を渡すと、SimplePipeline は即座に ValueError を発生させます。サーバー側で拒否されるのを待つ必要はありません。送信とポーリング
検証パイプライン
SimplePipeline は単一の Validation 要素もサポートします。結果には parameter_values に加えて summary_stats が含まれます。
エンドツーエンドの例
より多くのエンドツーエンド例(エントリのみ、計算のみ、データフィット、検証)は SDK リポジトリの
packages/ionworks-api/examples/pipeline/ を参照してください。