Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/qiskit_v1_update' into qiskit_v1…
Browse files Browse the repository at this point in the history
…_update
  • Loading branch information
nquetschlich committed Mar 16, 2024
2 parents 225ba47 + 9841855 commit 5fc5b21
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 17 deletions.
3 changes: 1 addition & 2 deletions src/mqt/predictor/ml/Predictor.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,13 @@
import numpy as np
from joblib import Parallel, delayed, load
from qiskit import QuantumCircuit
from qiskit.qasm2 import dump
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV, train_test_split

from mqt.bench.devices import get_available_device_names, get_available_devices
from mqt.predictor import ml, reward, rl, utils

from qiskit.qasm2 import dump

if TYPE_CHECKING:
from numpy._typing import NDArray

Expand Down
12 changes: 6 additions & 6 deletions src/mqt/predictor/rl/PredictorEnv.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@
from pytket.circuit import Qubit
from pytket.extensions.qiskit import qiskit_to_tk, tk_to_qiskit
from qiskit import QuantumCircuit
from qiskit.passmanager.flow_controllers import DoWhileController
from qiskit.transpiler import CouplingMap, PassManager, TranspileLayout
from qiskit.transpiler.passes import CheckMap, GatesInBasis

from qiskit.passmanager.flow_controllers import DoWhileController

from mqt.bench.devices import get_device_by_name
from mqt.predictor import reward, rl

Expand Down Expand Up @@ -218,11 +217,12 @@ def apply_action(self, action_index: int) -> QuantumCircuit | None:
pm = PassManager()
pm.append(
DoWhileController(
action["transpile_pass"](
self.device.basis_gates,
CouplingMap(self.device.coupling_map) if self.layout is not None else None,
action["transpile_pass"](
self.device.basis_gates,
CouplingMap(self.device.coupling_map) if self.layout is not None else None,
),
do_while=action["do_while"],
),
do_while=action["do_while"]),
)
else:
pm = PassManager(transpile_pass)
Expand Down
20 changes: 11 additions & 9 deletions src/mqt/predictor/rl/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,14 @@
VF2Layout,
VF2PostLayout,
)
from qiskit.transpiler.passes.layout.vf2_layout import VF2LayoutStopReason
from sb3_contrib import MaskablePPO
from tqdm import tqdm


from qiskit.transpiler.passes.layout.vf2_layout import VF2LayoutStopReason

from mqt.bench.utils import calc_supermarq_features
from mqt.predictor import reward, rl

if TYPE_CHECKING:
from collections.abc import Callable

from numpy.typing import NDArray

from mqt.bench.devices import Device
Expand Down Expand Up @@ -190,8 +186,11 @@ def get_actions_opt() -> list[dict[str, Any]]:
CommutativeCancellation(basis_gates=native_gate),
GatesInBasis(native_gate),
ConditionalController(
common.generate_translation_passmanager(target=None, basis_gates=native_gate, coupling_map=coupling_map).to_flow_controller(),
condition=lambda property_set: not property_set["all_gates_in_basis"]),
common.generate_translation_passmanager(
target=None, basis_gates=native_gate, coupling_map=coupling_map
).to_flow_controller(),
condition=lambda property_set: not property_set["all_gates_in_basis"],
),
Depth(recurse=True),
FixedPoint("depth"),
Size(recurse=True),
Expand Down Expand Up @@ -257,8 +256,11 @@ def get_actions_layout() -> list[dict[str, Any]]:
[
FullAncillaAllocation(coupling_map=CouplingMap(device.coupling_map)),
EnlargeWithAncilla(),
ApplyLayout()],
condition=lambda property_set: property_set["VF2Layout_stop_reason"] == VF2LayoutStopReason.SOLUTION_FOUND)
ApplyLayout(),
],
condition=lambda property_set: property_set["VF2Layout_stop_reason"]
== VF2LayoutStopReason.SOLUTION_FOUND,
),
],
"origin": "qiskit",
},
Expand Down

0 comments on commit 5fc5b21

Please sign in to comment.