Open utterances-bot opened 9 months ago
Hi guys, sorry, but line p_circ.initialise_concrete_params(model.symbols, model.weights)
doesn't work, before needs to write symbol_weight_map = dict(zip(model.symbols, model.weights))
and when p_circ.initialise_concrete_params(symbol_weight_map)
Thank you.
Hello @ketayon and thanks for this, you are right -- not sure how we missed that :)
Hi guys. I have executed these codes properly, print('Final test accuracy: {}'.format(accuracy(test_pair_circuits, test_labels))) is not working. KeyError Traceback (most recent call last)
Hi guys. I have executed these codes properly, print('Final test accuracy: {}'.format(accuracy(test_pair_circuits, test_labels))) is not working. I have attached the error below.
KeyError Traceback (most recent call last) in <cell line: 1>() ----> 1 print('Final test accuracy: {}'.format(accuracy(test_pair_circuits, test_labels)))
3 frames /usr/local/lib/python3.10/dist-packages/lambeq/training/pennylane_model.py in get_diagram_output(self, diagrams) 178 circuit_evals = [] 179 for d in diagrams: --> 180 p_circ = self.circuit_map[d] 181 p_circ.initialise_concrete_params(self.symbol_weight_map) 182 circuit_evals.append(p_circ.eval())
KeyError: quantum.circuit.Circuit(inside=(rigid.Layer(quantum.circuit.Ty(), quantum.gates.Ket('Ket(0)', quantum.circuit.Ty(), quantum.circuit.Ty(quantum.circuit.Qudit(2))), quantum.circuit.Ty()), rigid.Layer(quantum.circuit.Ty(), quantum.gates.Rx(mann_0), quantum.circuit.Ty()), rigid.Layer(quantum.circuit.Ty(), quantum.gates.Rz(man__n_1), quantum.circuit.Ty()), rigid.Layer(quantum.circuit.Ty(), quantum.gates.Rx(mann_2), quantum.circuit.Ty()), rigid.Layer(quantum.circuit.Ty(quantum.circuit.Qudit(2)), quantum.gates.Ket('Ket(0, 0, 0)', quantum.circuit.Ty(), quantum.circuit.Ty(quantum.circuit.Qudit(2), quantum.circuit.Qudit(2), quantum.circuit.Qudit(2))), quantum.circuit.Ty()), rigid.Layer(quantum.circuit.Ty(quantum.circuit.Qudit(2)), quantum.gates.QuantumGate('H', quantum.circuit.Ty(quantum.circuit.Qudit(2)), quantum.circuit.Ty(quantum.circuit.Qudit(2)), data=[(0.7071067811865476+0j), (0.7071067811865476+0j), (0.7071067811865476+0j), (-0.7071067811865476+0j)]), quantum.circuit.Ty(quantum.circuit.Qudit(2), quantum.circuit.Qudit(2))), rigid.Layer(quantum.circuit.Ty(quantum.circuit.Qudit(2), quantum.circuit.Qudit(2)), quantum.gates.QuantumGate('H', quantum.circuit.Ty(quantum.circuit.Qudit(2)), quantum.circuit.Ty(quantum.circuit.Qudit(2)), data=[(0.7071067811865476+0j), (0.7071067811865476+0j), (0.7071067811865476+0j), (-0.7071067811865476+0j)]), quantum.circuit.Ty(quantum.circuit.Qudit(2))), rigid.Layer(quantum.circuit.Ty(quantum.circuit.Qudit(2), quantum.circuit....
Hi @mohapatra-amrit,
When initialising the model using from_diagrams
, did you include test_pair_circuits
as well?
This is necessary to evaluate the test circuits.
Thank you for your response @nikhilkhatri, I have included test_pair_circuits while initialising like this: from lambeq import Dataset
all_pair_circuits = (train_pair_circuits + dev_pair_circuits + test_pair_circuits) a, b = zip(*all_pair_circuits)
model = XORSentenceModel.from_diagrams(a + b, probabilities=True, normalize=True) model.initialise_weights() model = model.double()
train_pair_dataset = Dataset(train_pair_circuits, train_labels, batch_size=BATCH_SIZE)
optimizer = torch.optim.Adam(model.parameters(), lr=0.1)
Still not working.
Quantum NLP with the lambeq–PennyLane integration | PennyLane Blog
The Quantinuum team gives an introduction to quantum natural language processing (QNLP) and showcases the recently published integration between lambeq and PennyLane.
https://pennylane.ai/blog/2023/04/quantum-nlp-with-the-lambeq-pennylane-integration/