Parametrized Quantum Circuits for Reinforcement Learning stuck if using qsim backend
@mhucka ya está trabajando en esto.
Desde el 5/6/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
I've ran this notebook with no problem. However, if I try to use qsim as a backend by passing the backend backend = qsimcirq.QSimSimulator() explicitly to ReUploadingPQC, then I get the following message
2023-04-26 09:20:03.862016: W tensorflow/core/grappler/optimizers/loop_optimizer.cc:907] Skipping loop optimization for Merge node with control input: cond/branch_executed/_12
and it gets stuck there indefinitely.
Any idea of what might be going on?
To reproduce:
replace
def generate_model_policy(
qubits: List[cirq.GridQubit],
n_layers: int,
n_actions: int,
beta: float,
observables: List[cirq.PauliString],
) -> tf.keras.Model:
"""Generates a Keras model for a data re-uploading PQC policy."""
input_tensor = tf.keras.Input(shape=(len(qubits),), dtype=tf.dtypes.float32, name="input")
re_uploading_pqc = ReUploadingPQC(qubits, n_layers, observables)([input_tensor])
process = tf.keras.Sequential(
[Alternating(n_actions), tf.keras.layers.Lambda(lambda x: x * beta), tf.keras.layers.Softmax()],
name="observables-policy",
)
policy = process(re_uploading_pqc)
model = tf.keras.Model(inputs=[input_tensor], outputs=policy)
return model
with
def generate_model_policy(
qubits: List[cirq.GridQubit],
n_layers: int,
n_actions: int,
beta: float,
observables: List[cirq.PauliString],
backend="noiseless",
) -> tf.keras.Model:
"""Generates a Keras model for a data re-uploading PQC policy."""
input_tensor = tf.keras.Input(shape=(len(qubits),), dtype=tf.dtypes.float32, name="input")
re_uploading_pqc = ReUploadingPQC(qubits, n_layers, observables, backend=backend)([input_tensor])
process = tf.keras.Sequential(
[Alternating(n_actions), tf.keras.layers.Lambda(lambda x: x * beta), tf.keras.layers.Softmax()],
name="observables-policy",
)
policy = process(re_uploading_pqc)
model = tf.keras.Model(inputs=[input_tensor], outputs=policy)
return model
and then replace
model = generate_model_policy(qubits, n_layers, n_actions, 1.0, observables)
backend = qsimcirq.QSimSimulator()
model = generate_model_policy(qubits, n_layers, n_actions, 1.0, observables, backend=backend)
versions:
gym = "==0.22.0"
tensorflow = "2.7.0"
tensorflow-quantum = "0.7.2"
qsimcirq = "0.13.3" # <0.16.0 because of incompatibility with tensorflow-quantum
- Lenguaje dominante
- Python
- Estrellas
- 2.2k
- Forks
- 672
- Merge medio
- 12 h 50 min
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de tensorflow/quantum
-
area/devops help wanted no QC knowledge needed priority/before-0.7.7
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
tensorflow/quantum#1082 · 2 comentarios · 1 reacción ·
-
Support Keras 3Quizá libre de nuevo @rosspeili la tomó hace 93 días y no hay ningún pull request abierto. Abiertoarea/keras help wanted skill-level/intermediate
tensorflow/quantum#1090 · 5 comentarios · 1 asignado ·
-
Investigate support for JAXQuizá libre de nuevo @bug-catcher la tomó hace 42 días y no hay ningún pull request abierto. Abiertoskill-level/expert
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
tensorflow/quantum#1089 · 2 comentarios ·
-
area/core priority/after-0.7.7 skill-level/expert
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
tensorflow/quantum#1088 ·
-
Support dynamic quantum circuitsAbiertoarea/circuits priority/after-0.7.7 skill-level/expert
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
tensorflow/quantum#1087 ·
Todos los issues de tensorflow/quantum
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
sierra-research/tau2-bench#635 ·
Los mantenedores suelen responder en 1 día
-
The add-ssm-model skill requires a Cython simulator; the contributing guide allows Python onesPosiblemente ocupada @fmuia la tomó hoy. Abiertodocumentation skill
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
lnccbrown/ssm-simulators#406 ·
Los mantenedores suelen responder en 4 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
btclib-org/btclib-ecc#309 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
jbacalso24/mimry#459 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Bug] POST /revoke with a FastMCP access token is a silent no-op (ownership gate never matches)Abiertoauth bug high-priority
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día