qibolab icon indicating copy to clipboard operation
qibolab copied to clipboard

Error in `Custom.__init__()`

Open csookim opened this issue 6 months ago • 6 comments

I tried running the following code using Slurm:

from qibo import gates
from qibo.models.circuit import Circuit
from qibo.transpiler.pipeline import Passes
from qibo.transpiler.unroller import NativeGates, Unroller

circuit = Circuit(3)
circuit.add(gates.H(0))
circuit.add(gates.SWAP(0, 2))

ng = NativeGates.default()
custom_pipeline = Passes([Unroller(native_gates=ng)])
transpiled_circuit, _ = custom_pipeline(circuit)

print("Before unrolling:")
print(circuit.draw())
print("After unrolling:")
print(transpiled_circuit.draw())

results = transpiled_circuit(nshots=100)
results.state()

However, I got this error:

[Qibo 0.2.11|INFO|2024-08-13 08:40:31]: Loading platform /nfs/tools/qibolab_platforms_qrc/iqm5q
[Qibo 0.2.11|INFO|2024-08-13 08:40:31]: Using qibolab (/nfs/tools/qibolab_platforms_qrc/iqm5q) backend on /CPU:0
Before unrolling:
q0: ─H─x─
q1: ───|─
q2: ───x─
After unrolling:
q0: ─Z─GPI2─o─Z─GPI2─Z─Z─GPI2─o────────
q1: ────────|────────|────────|────────
q2: ─Z─GPI2─Z─Z─GPI2─o─Z─GPI2─Z─Z─GPI2─
Traceback (most recent call last):
  File "/nfs/users/changsoo.kim/test.py", line 20, in <module>
    results = transpiled_circuit(nshots=100)
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibo/models/circuit.py", line 1113, in __call__
    return self.execute(initial_state=initial_state, nshots=nshots)
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibo/models/circuit.py", line 1109, in execute
    return GlobalBackend().execute_circuit(self, initial_state, nshots)
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibolab/backends.py", line 100, in execute_circuit
    sequence, measurement_map = self.compiler.compile(circuit, self.platform)
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibolab/compilers/compiler.py", line 156, in compile
    gate_sequence, gate_phases = self._compile_gate(
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibolab/compilers/compiler.py", line 107, in _compile_gate
    gate_sequence, gate_phases = rule(gate, platform)
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibolab/compilers/default.py", line 88, in cz_rule
    return platform.create_CZ_pulse_sequence(gate.qubits)
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibolab/platform/platform.py", line 354, in create_CZ_pulse_sequence
    return self.pairs[pair].native_gates.CZ.sequence(start)
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibolab/native.py", line 248, in sequence
    sequence.add(pulse.pulse(start=start))
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibolab/native.py", line 82, in pulse
    return FluxPulse(
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibolab/pulses.py", line 1180, in __init__
    super().__init__(
  File "<string>", line 13, in __init__
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibolab/pulses.py", line 790, in __post_init__
    self.shape = PulseShape.eval(self.shape)
  File "/nfs/tools/qibo/lib/python3.10/site-packages/qibolab/pulses.py", line 223, in eval
    return globals()[shape_name](*shape_parameters)
TypeError: Custom.__init__() takes from 2 to 3 positional arguments but 181 were given

csookim avatar Aug 13 '24 06:08 csookim