Qiskit:attributeError:'parameterexpression'对象在IBM Quantum Hardware上运行最小化估算器(SCIPY)时没有属性'名称' 我正在尝试使用scipy.optimize.minimize和Qiskit Runtime的估算器优化量子电路,并在IBM量子真实设备上运行。但是,我遇到以下错误:

问题描述 投票:0回答:0
优化量子电路,该电路在

IBM量子量实际设备上运行。但是,我遇到以下错误:

AttributeError: 'ParameterExpression' object has no attribute 'name'
函数呼叫内部发生错误,特别是在cost_func_estimator中执行`估算器()时。
相关代码是:
minimize

from scipy.optimize import minimize
from qiskit_ibm_runtime import Estimator, Session

objective_func_vals = []

with Session(backend=backend) as session:
    estimator = Estimator(mode=session)
    estimator.options.default_shots = 1000

    estimator.options.dynamical_decoupling.enable = True
    estimator.options.dynamical_decoupling.sequence_type = "XY4"
    estimator.options.twirling.enable_gates = True
    estimator.options.twirling.num_randomizations = "auto"

    result = minimize(
        cost_func_estimator,
        init_params,
        args=(candidate_circuit, qubitOp, estimator),
        method="COBYLA",
        tol=1e-2,
        callback=callback,
    )

    save_progress(result.x, objective_func_vals, name_saved_file)
    print(result)

cost_func_estimator function
中被调用,并在估算器中运行工作:

minimize

I期望
def cost_func_estimator(params, ansatz, hamiltonian, estimator): isa_hamiltonian = hamiltonian.apply_layout(ansatz.layout) pub = (ansatz, isa_hamiltonian, params) job = estimator.run([pub]) # The error occurs here results = job.result()[0] cost = results.data.evs return cost

使用Qiskit Runtime's

scipy.optimize.minimize
IBMQuantum RealDevice.
中优化我的量子电路的参数。 我尝试了:

Estimator

尽管有这些尝试,但错误仍然存在。我希望

- Ensuring `init_params` contains only numerical values, not `ParameterExpression`.
- Using `bind_parameters()` to assign values before optimization.
- Updating `qiskit` and `qiskit-ibm-runtime` to the latest version.
没有问题执行,但是它会失败。
我怎么能解决这个问题?

它是QPY序列化的错误。

estimator.run()
AttributeError: 'ParameterExpression' object has no attribute 'name'

有修复。

	
optimization scipy quantum-computing qiskit
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.