You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qiskit 1.0中transpile()传入shots参数报错的解决方法

Qiskit 1.0: 修复"TypeError: transpile() got an unexpected keyword argument 'shots'"错误

问题背景

升级至Qiskit 1.0后,尝试将旧代码中的execute替换为transpile时触发上述错误。旧版本中execute同时完成电路编译与运行,而Qiskit 1.0拆分了这两个独立步骤。

旧代码(Qiskit <1.0)

import numpy as np
from qiskit import QuantumCircuit, Aer, execute

def calculate_hydrogen_energy():
    circuit = QuantumCircuit(2, 2)
    circuit.h(0)
    circuit.cx(0, 1)
    circuit.measure([0, 1], [0, 1])

    simulator = Aer.get_backend('qasm_simulator')
    job = execute(circuit, simulator, shots=1000)
    result = job.result()
    counts = result.get_counts(circuit)

错误的升级代码

import numpy as np
from qiskit import QuantumCircuit, transpile
from qiskit_aer import Aer

def calculate_hydrogen_energy():
    circuit = QuantumCircuit(2, 2)
    circuit.h(0)
    circuit.cx(0, 1)
    circuit.measure([0, 1], [0, 1])

    simulator = Aer.get_backend('qasm_simulator')
    job = transpile(circuit, simulator, shots=1000)  # 错误:transpile不接受shots参数
    result = job.result()
    counts = result.get_counts(circuit)

解决方案

Qiskit 1.0中,transpile仅负责电路编译,运行参数(如shots)需传递给后端的run方法:

正确代码

import numpy as np
from qiskit import QuantumCircuit, transpile
from qiskit_aer import Aer

def calculate_hydrogen_energy():
    # 定义量子电路
    circuit = QuantumCircuit(2, 2)
    circuit.h(0)
    circuit.cx(0, 1)
    circuit.measure([0, 1], [0, 1])

    # 初始化模拟器后端
    simulator = Aer.get_backend('qasm_simulator')
    
    # 步骤1:编译电路以适配后端
    transpiled_circuit = transpile(circuit, simulator)
    
    # 步骤2:运行编译后的电路,指定shots参数
    job = simulator.run(transpiled_circuit, shots=1000)
    
    # 获取结果
    result = job.result()
    counts = result.get_counts(transpiled_circuit)
    
    # 可选:打印结果验证
    print(counts)

关键说明

  • transpile():将原始电路转换为符合目标后端约束的优化电路,仅处理编译逻辑,不接受运行相关参数
  • simulator.run():执行编译后的电路,支持传入shots(采样次数)、memory(是否保存每次采样结果)等运行参数

内容的提问来源于stack exchange,提问作者Simón Xolocotzi Muñoz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 19:18:41