Код: Выделить всё
AttributeError: 'ParameterExpression' object has no attribute 'name'
Вот соответствующий код:
Код: Выделить всё
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)
Код: Выделить всё
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
Код: Выделить всё
- 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.
< /code>
Несмотря на эти попытки, ошибка сохраняется. Я ожидал, что оценка.run ()
Как я могу решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/794 ... e-name-whe