DoWhileController
class qiskit.passmanager.DoWhileController(tasks=(), do_while=None, *, options=None)
ベース: BaseController
プロパティセットの do_while 条件が False になるまで、与えられたタスクをループで実行する。
与えられたタスクは常に少なくとも1回は実行され、ループの繰り返しで、すべてのタスクが実行される(失敗ステートが設定された場合を除く)。
新しいフローコントローラを作成する。
パラメーター
- options (dict[str, Any] | None) – このフローコントローラのオプション。
- tasks (Task | Iterable[Task])
- do_while (Callable[[PropertySet], bool] | None)
属性
passes
後方互換性のためのタスクの別名。
方法
execute
execute(passmanager_ir, state, callback=None)
入力Qiskit IRに対して最適化タスクを実行する。
パラメーター
- passmanager_ir (Any) – Qiskit IRを最適化する。
- state (PassManagerState) – パスマネージャー自身によるワークフロー実行に関連する状態。
- callback (Callable | None) – 最適化タスクの実行ごとに呼び出されるコールバック関数。
戻り値
Qiskit IRとワークフローの状態を最適化。
戻りの型
タプル [ Any, PassManagerState ]
iter_tasks
iter_tasks(state)
次に実行するタスクを選択するカスタムロジック。
コントローラのサブクラスは、ステートを消費して適切なタスクパイプラインを構築することができる。 タスク実行後に更新された状態は、 yield ステートメントの「戻り値」としてフィードバックされる。 これは、タスクの実行順序が実行時にのみ決定されることを示している。 このメソッドは、与えられたステート・オブジェクトを変更することはできない。
パラメーター
- state (PassManagerState) – このフローコントローラの実行開始時のパスマネージャワークフローの状態。
- state - 最後に降参したタスクの実行後のパスマネージャーの状態。 ジェネレーターは、そのロジックに無関係であれば、これを検査する必要はないし、更新する必要もない。
生成数
Task - 次に実行するタスク。
戻りの型
ジェネレーター [ タスク、 PassManagerState、なし]
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。