Hello! If applicable, put your complete code example down below. Make sure that your code:
- is 100% self-contained — someone can copy-paste exactly what is here and run it to
reproduce the behaviour you are observing
- includes comments
I have been trying to visualize the circuit in Quantum Transfer Learning example at:
Quantum transfer learning
Would highly appreciate any help on how to visualize this circuit (or) pointers to where this visualization may already be available.
# Put code here def H_layer(nqubits): """Layer of single-qubit Hadamard gates. """ for idx in range(nqubits): qml.Hadamard(wires=idx) def RY_layer(w): """Layer of parametrized qubit rotations around the y axis. """ for idx, element in enumerate(w): qml.RY(element, wires=idx) def entangling_layer(nqubits): """Layer of CNOTs followed by another shifted layer of CNOT. """ # In other words it should apply something like : # CNOT CNOT CNOT CNOT... CNOT # CNOT CNOT CNOT... CNOT for i in range(0, nqubits - 1, 2): # Loop over even indices: i=0,2,...N-2 qml.CNOT(wires=[i, i + 1]) for i in range(1, nqubits - 1, 2): # Loop over odd indices: i=1,3,...N-3 qml.CNOT(wires=[i, i + 1]) @qml.qnode(dev, interface="torch") def quantum_net(q_input_features, q_weights_flat): """ The variational quantum circuit. """ # Reshape weights q_weights = q_weights_flat.reshape(q_depth, n_qubits) # Start from state |+> , unbiased w.r.t. |0> and |1> H_layer(n_qubits) # Embed features in the quantum node RY_layer(q_input_features) # Sequence of trainable variational layers for k in range(q_depth): entangling_layer(n_qubits) RY_layer(q_weights[k]) # Expectation values in the Z basis exp_vals = [qml.expval(qml.PauliZ(position)) for position in range(n_qubits)] return tuple(exp_vals)
If you want help with diagnosing an error, please put the full error message below:
# Put full error message here
And, finally, make sure to include the versions of your packages. Specifically, show us the output of
Summary: PennyLane is a Python quantum machine learning library by Xanadu Inc.
Home-page: GitHub - PennyLaneAI/pennylane: PennyLane is a cross-platform Python library for differentiable programming of quantum computers. Train a quantum computer the same way as a neural network.
License: Apache License 2.0
Requires: appdirs, autograd, autoray, cachetools, networkx, numpy, pennylane-lightning, requests, rustworkx, scipy, semantic-version, toml
Platform info: Linux-5.15.107±x86_64-with-glibc2.31
Python version: 3.10.12
Numpy version: 1.22.4
Scipy version: 1.10.1