PassManager
class qiskit.transpiler.PassManager(passes=(), max_iteration=1000)
ベース: BasePassManager
パスのセットのマネージャーと、トランスピレーション中のスケジューリング。
空のパスマネージャオブジェクトを初期化します。
パラメーター
- passes (Task | list[Task]) – パスマネージャーのスケジュールに追加されるパスセット。
- max_iteration (int) – 条件が満たされない場合、スケジュールがループされる最大反復回数。
方法
append
append(passes)
パスセットをパスのスケジュールに追加する。
パラメーター
passes (Task | list[Task]) – スケジュールに追加するトランスパイラ・パスのセット。
レイズ
TranspilerError - パスの中のパスが適切なパスでない場合。
戻りの型
なし
draw
draw(filename=None, style=None, raw=False)
パスマネージャーを描く。
この関数には pydotが必要で、pydotには Graphvizがインストールされている必要がある。
この関数は、ユーザーが制御可能な文字列(パス名など)を含むファイルに対して、システムのGraphvizツールを呼び出します。 この関数は、信頼できる入力に対してのみ呼び出すことを推奨します。
パラメーター
- filename (str) – 画像を保存するファイルパス。
- style (dict) – キーはパス・クラスで、値はそれを作るための色である。 DEFAULT_STYLE に例がある。 順序付きディクテは、パスが複数のカテゴリーに分類される場合に、優先順位の色分けを確実にするために使用できる。 提供されたdictに含まれていない値は、デフォルトのdictから入力されます。
- raw (bool) –
Trueの場合、画像の代わりに生のドット出力を保存する。
戻り値
パスマネージャのインメモリ表現。イメージが生成されなかったり、 Pillowがインストールされていない場合は None 。
戻りの型
オプション PassManager ]
レイズ
ImportError - nxpd または pydot がインストールされていない場合。
remove
remove(index)
スケジューラーの特定のパスを削除する。
パラメーター
index (int) – の位置に基づいて、削除するインデックスを渡す。 passes().
レイズ
PassManagerError - インデックスが見つからない場合
戻りの型
なし
replace
replace(index, passes)
スケジューラーの特定のパスを置き換える。
パラメーター
- index (int) – passes() の位置に基づいて、置き換えるインデックスを渡す。
- passes (Task | list[Task]) – パスマネージャーのスケジュールに追加されるパスセット。
戻りの型
なし
run
run(circuits, output_name=None, callback=None, num_processes=None, *, property_set=None)
指定された circuits ですべてのパスを実行する。
パラメーター
-
circuits (_CircuitsT) – 登録されたすべてのパスを介して変換する回路(複数可)。
-
output_name (str | None) – 出力回路名。
Noneの場合、入力回路名と同じに設定される。 -
callback (Callable | None) –
各パス実行後に呼び出されるコールバック関数。 この関数は5つのキーワード引数で呼び出される:
pass_ (Pass): the pass being run dag (DAGCircuit): the dag output of the pass time (float): the time to execute the pass property_set (PropertySet): the property set count (int): the index for the pass execution注ここでのキーワード引数は、一般的な
BasePassManager. このパス・マネージャーは、これらの引数を上記の形式に変換する。渡される正確な引数はパス・マネージャーの内部を明らかにするものであり、パス・マネージャーの内部が変更されると変更される可能性がある。 コールバック関数を複数のリリースで再利用する場合は、渡される引数が同じであることを確認してください。
コールバック機能を使うには、kwargs dictを受け取って変数にアクセスする関数を定義する。 例:
def callback_func(**kwargs): pass_ = kwargs['pass_'] dag = kwargs['dag'] time = kwargs['time'] property_set = kwargs['property_set'] count = kwargs['count'] ...注マルチプロセッシングでトランスピレーションを実行する場合、コールバック関数は親プロセスとは独立して、各サブプロセスのコンテキスト内で呼び出されます。
-
num_processes (int | None) – 並列実行が有効になっている場合に起動する並列プロセスの最大数。 この設定は、ユーザー設定ファイルおよび環境変数での
num_processes``QISKIT_NUM_PROCS設定を上書きします。 この設定が指定されていない場合、システムのデフォルト設定Noneまたはローカルユーザーの設定が使用されます。 -
property_set (dict[str, object] | None) – 与えられた場合、パスマネージャーパイプラインの
PropertySetとして使用する初期値です。 これは、分析を共有しても安全であることが分かっている場合に、ある実行から別の実行へと分析を持続させるために使用することができる。 いくつかの解析は、入力回路に特有であることに注意すること。Targetそのため、この引数を使用する際には十分な注意が必要である。
戻り値
変換された回路(複数可)。
戻りの型
_CircuitsT
to_flow_controller
to_flow_controller()
このマネジャーをリニア化して FlowControllerLinear別のパス・マネージャーの中にネストできるようにする。
戻り値
線形化されたパス・マネージャー。
戻りの型