JSONDecodeError when getting results via IonQ Backend if not measuring all qubits
还没有人认领这个 Issue。
评估
调研方向
从 azure/quantum/qiskit/job.py 开始,重点查看 _format_results 和 _format_ionq_results,并使用一个不测量每个量子比特的 IonQ 作业复现该失败。检查 JSON 解析前如何处理 meas_map。完成的标准是,对于仅部分测量的电路,job.result() 能够格式化结果而不产生 JSONDecodeError。
由索引模型根据 Issue 内容生成。
描述
Sharing on behalf of @amirebrahimi:
I'm getting an error when calling job.result() from ionq.simulator. Details in thread.
---------------------------------------------------------------------------
JSONDecodeError Traceback (most recent call last)
/tmp/ipykernel_15433/1564545644.py in <module>
1 # print(result)
----> 2 print(job.result())
/usr/local/lib/python3.7/site-packages/azure/quantum/qiskit/job.py in result(self, timeout)
75
76 success = self._azure_job.details.status == "Succeeded"
---> 77 results = self._format_results()
78
79 return Result.from_dict(
/usr/local/lib/python3.7/site-packages/azure/quantum/qiskit/job.py in _format_results(self)
118
119 elif (self._azure_job.details.output_data_format == IONQ_OUTPUT_DATA_FORMAT):
--> 120 job_result["data"] = self._format_ionq_results()
121 job_result["header"] = self._azure_job.details.metadata
122
/usr/local/lib/python3.7/site-packages/azure/quantum/qiskit/job.py in _format_ionq_results(self)
140 if "meas_map" not in self._azure_job.details.metadata or "num_qubits" not in self._azure_job.details.metadata:
141 raise ValueError(f"Job with ID {self.id()} does not have the required metadata to format IonQ results.")
--> 142 meas_map = json.loads(self._azure_job.details.metadata.get("meas_map"))
143 num_qubits = self._azure_job.details.metadata.get("num_qubits")
144
/usr/local/lib/python3.7/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
346 parse_int is None and parse_float is None and
347 parse_constant is None and object_pairs_hook is None and not kw):
--> 348 return _default_decoder.decode(s)
349 if cls is None:
350 cls = JSONDecoder
/usr/local/lib/python3.7/json/decoder.py in decode(self, s, _w)
335
336 """
--> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
338 end = _w(s, end).end()
339 if end != len(s):
/usr/local/lib/python3.7/json/decoder.py in raw_decode(self, s, idx)
353 obj, end = self.scan_once(s, idx)
354 except StopIteration as err:
--> 355 raise JSONDecodeError("Expecting value", s, err.value) from None
356 return obj, end
JSONDecodeError: Expecting value: line 1 column 14 (char 13)
A temporary fix: measure all your qubits
The problem is that meas_map may have None for any qubits you don't measure. which is breaking the parsing
- 主要语言
- Python
- 星标
- 160
- 派生
- 113
- 平均合并
- 7 天 8 小时
- 30 天内合并 PR
- 2
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/azure-quantum-python 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 4/5 3-5 天 新手友好度 38/100
-
Export types未关闭
难度 2/5 1-3 小时 新手友好度 55/100
-
难度 4/5 3-5 天 新手友好度 38/100
microsoft/azure-quantum-python#650 · 1 条评论 ·
-
azure-quantum
难度 2/5 1-3 小时 新手友好度 20/100
查看 microsoft/azure-quantum-python 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 86/100
维护者通常 1 天内回复
-
难度 2/5 1-2 天 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 7 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
lmstudio-ai/mlx-engine#376 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
pyiron/bagofholding#166 ·