qiskit-machine-learning
qiskit-machine-learning copied to clipboard
Error VQC training when using binary number list(0,1) as feature
trafficstars
System Requirements
- Qiskit Machine Learning version: 0.6.1
- Qiskit: 0.25.1
- Python version: 3.11.4
- Operating system: windows 10
Error
when i using binary number list(0,1) as feature, i got this error
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
File [c:\Users\herutriana44\AppData\Local\Programs\Python\Python311\Lib\site-packages\qiskit_machine_learning\neural_networks\sampler_qnn.py:360](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/site-packages/qiskit_machine_learning/neural_networks/sampler_qnn.py:360), in SamplerQNN._forward(self, input_data, weights)
[359](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/site-packages/qiskit_machine_learning/neural_networks/sampler_qnn.py:359) try:
--> [360](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/site-packages/qiskit_machine_learning/neural_networks/sampler_qnn.py:360) results = job.result()
[361](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/site-packages/qiskit_machine_learning/neural_networks/sampler_qnn.py:361) except Exception as exc:
File [c:\Users\herutriana44\AppData\Local\Programs\Python\Python311\Lib\site-packages\qiskit\primitives\primitive_job.py:55](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/site-packages/qiskit/primitives/primitive_job.py:55), in PrimitiveJob.result(self)
[54](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/site-packages/qiskit/primitives/primitive_job.py:54) self._check_submitted()
---> [55](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/site-packages/qiskit/primitives/primitive_job.py:55) return self._future.result()
File [c:\Users\herutriana44\AppData\Local\Programs\Python\Python311\Lib\concurrent\futures\_base.py:456](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/_base.py:456), in Future.result(self, timeout)
[455](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/_base.py:455) elif self._state == FINISHED:
--> [456](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/_base.py:456) return self.__get_result()
[457](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/_base.py:457) else:
File [c:\Users\herutriana44\AppData\Local\Programs\Python\Python311\Lib\concurrent\futures\_base.py:401](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/_base.py:401), in Future.__get_result(self)
[400](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/_base.py:400) try:
--> [401](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/_base.py:401) raise self._exception
[402](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/_base.py:402) finally:
[403](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/_base.py:403) # Break a reference cycle with the exception in self._exception
File [c:\Users\herutriana44\AppData\Local\Programs\Python\Python311\Lib\concurrent\futures\thread.py:58](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/thread.py:58), in _WorkItem.run(self)
[57](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/thread.py:57) try:
---> [58](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/concurrent/futures/thread.py:58) result = self.fn(*self.args, **self.kwargs)
...
--> [362](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/site-packages/qiskit_machine_learning/neural_networks/sampler_qnn.py:362) raise QiskitMachineLearningError("Sampler job failed.") from exc
[363](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/site-packages/qiskit_machine_learning/neural_networks/sampler_qnn.py:363) result = self._postprocess(num_samples, results)
[365](file:///C:/Users/herutriana44/AppData/Local/Programs/Python/Python311/Lib/site-packages/qiskit_machine_learning/neural_networks/sampler_qnn.py:365) return result
QiskitMachineLearningError: 'Sampler job failed.'
but, when i was change feature from binary list(every list, has 30 values in integer) to integer list(has 2 values in integer). in bottom, my dataset, my plan i use dna binary as feature(i've changed to list binary) but i got error. but if i use 0 and 1 as feature(this columns are count 0 or 1 in string dna binary), i don't get this error.
i dna binary 0 1 label
0 0100001000010100010000010010001100100010001001... 43 17 alpha
1 0100001100100010010001000001001000010010000101... 44 16 beta
2 0100001000010010001000010001000100010100010000... 45 15 beta
3 0100001000010010001000010001000100010100010000... 44 16 beta
4 0010001101000001001101000010001100100010001001... 42 18 beta
in bottom, vqc code for dna binary
feature_map = ZZFeatureMap(feature_dimension=len(X[0]), reps=3, entanglement="linear") # len(X[0]) = 30
ansatz = TwoLocal(feature_map.num_qubits, ["ry", "rz"], "cz", reps=3)
vqc = VQC(
feature_map=feature_map,
ansatz=ansatz,
optimizer=COBYLA(maxiter=100),
)
in bottom, vqc code for 0 and 1 column
feature_map = ZZFeatureMap(feature_dimension=2, reps=3, entanglement="linear") # len(X[0]) = 30
ansatz = TwoLocal(feature_map.num_qubits, ["ry", "rz"], "cz", reps=3)
vqc = VQC(
feature_map=feature_map,
ansatz=ansatz,
optimizer=COBYLA(maxiter=100),
)
any idea for this error?