枚举
本页记录了 qcloud 模块中用于任务状态、数据格式、噪声模型和日志记录的枚举类型。
JobStatus
表示量子云任务的生命周期状态。
| 取值 | 描述 |
|---|---|
| WAITING | 任务正在等待处理 |
| COMPUTING | 任务正在后端上执行 |
| FINISHED | 任务已成功完成 |
| FAILED | 任务在执行过程中失败 |
| QUEUING | 任务在队列中等待可用资源 |
FAILED 是终态;QCloudJob.result() 自 0.5.1 起把服务端失败作为结果返回,而不是抛异常。
示例
python
from pyqpanda3.qcloud import JobStatus
# JobStatus is the value QCloudJob.status() reports.
status = JobStatus.FINISHED
if status == JobStatus.FINISHED:
print("Job finished")
elif status == JobStatus.FAILED:
print("Job failed")DataFormat
指定用于量子线路导出和与云后端通信的数据格式。
NOTE
DataFormat 可以直接从 pyqpanda3.qcloud 导入:from pyqpanda3.qcloud import DataFormat。
| 取值 | 描述 |
|---|---|
| DEFAULT | 默认格式;行为取决于上下文或后端实现 |
| BINARY | 紧凑的二进制格式,用于高效传输和存储 |
| INSTRUCTION_SET | 指令或门操作的显式序列 |
DataBase
指定用于表示量子测量结果的数字进制。
| 取值 | 描述 |
|---|---|
| Binary | 二进制(Base-2)表示,例如 "0010" |
| Hex | 十六进制(Base-16)表示,例如 "0x2" |
示例
python
from pyqpanda3.qcloud import DataBase
# DataBase selects the key format of QCloudResult.get_probs():
# DataBase.Binary -> keys like '00', '11'
# DataBase.Hex -> keys like '0x0', '0x3'
for base in (DataBase.Binary, DataBase.Hex):
print(base.name, base.value)NOISE_MODEL
定义用于云端含噪模拟的量子噪声模型类型。
| 取值 | 描述 |
|---|---|
| BITFLIP_KRAUS_OPERATOR | 比特翻转噪声模型(以概率 p 发生 X 错误) |
| BIT_PHASE_FLIP_OPERATOR | 比特相位翻转噪声模型(以概率 p 发生 Y 错误) |
| DAMPING_KRAUS_OPERATOR | 振幅阻尼噪声模型(能量耗散) |
| DECOHERENCE_KRAUS_OPERATOR | 组合退相干噪声模型(T1 和 T2 弛豫) |
| DEPHASING_KRAUS_OPERATOR | 相位阻尼噪声模型(相位相干性丢失) |
| DEPOLARIZING_KRAUS_OPERATOR | 去极化噪声模型(在所有泡利轴上均匀出错) |
| PHASE_DAMPING_OPERATOR | 相位阻尼噪声模型(纯退相位) |
示例
python
from pyqpanda3.qcloud import QCloudNoiseModel, NOISE_MODEL
# Create a decoherence noise model
# Note: QCloudNoiseModel accepts positional arguments only
# DECOHERENCE_KRAUS_OPERATOR requires exactly 3 elements each
noise = QCloudNoiseModel(
NOISE_MODEL.DECOHERENCE_KRAUS_OPERATOR,
[0.001, 0.002, 0.003],
[0.01, 0.02, 0.03]
)LogLevel
定义云服务的日志详细程度级别。
| 取值 | 描述 |
|---|---|
| CLOUD_INFO | 关于正常操作的信息性消息 |
| CLOUD_DEBUG | 用于故障排除的详细调试消息 |
| CLOUD_WARNING | 关于潜在问题的警告消息 |
| CLOUD_ERROR | 关于失败的错误消息 |
示例
python
from pyqpanda3.qcloud import LogLevel
# LogLevel values define verbosity levels for cloud service logging
print(LogLevel.CLOUD_INFO)
print(LogLevel.CLOUD_DEBUG)
print(LogLevel.CLOUD_WARNING)
print(LogLevel.CLOUD_ERROR)运行结果:
LogLevel.CLOUD_INFO
LogLevel.CLOUD_DEBUG
LogLevel.CLOUD_WARNING
LogLevel.CLOUD_ERRORLogOutput
指定云服务日志输出的目标。
| 取值 | 描述 |
|---|---|
| CONSOLE | 日志消息输出到控制台(标准输出) |
| FILE | 日志消息写入文件 |
示例
python
from pyqpanda3.qcloud import QCloudService, LogOutput
service = QCloudService(api_key="your_api_key")
service.setup_logging(output=LogOutput.FILE, file_path="qcloud_debug.log")另见
- QCloudService -- 主要云服务类
- QCloudNoiseModel -- 使用 NOISE_MODEL 的噪声模型配置
- QCloudResult -- 使用 DataBase 作为输出格式的结果类