Erreur : AttributeError - 'pennylane.qnn' has no attribute 'KerasLayer' lors de la construction du modèle QLSTM

Bonjour,

Lors de la construction de mon modèle QLSTM avec Pennylane, j’obtiens l’erreur suivante :

AttributeError: module 'pennylane.qnn' has no attribute 'KerasLayer'

Le problème apparaît lorsque j’essaie d’instancier plusieurs couches quantiques avec :

self.vqc1 = qml.qnn.KerasLayer(vqc_circuit, weight_shapes, output_dim=self.n_qubits)
self.vqc2 = qml.qnn.KerasLayer(vqc_circuit, weight_shapes, output_dim=self.n_qubits)
self.vqc3 = qml.qnn.KerasLayer(vqc_circuit, weight_shapes, output_dim=self.n_qubits)
self.vqc4 = qml.qnn.KerasLayer(vqc_circuit, weight_shapes, output_dim=self.n_qubits)
self.vqc5 = qml.qnn.KerasLayer(vqc_circuit, weight_shapes, output_dim=self.n_qubits)
self.vqc6 = qml.qnn.KerasLayer(vqc_circuit, weight_shapes, output_dim=self.n_qubits)

J’utilise la dernière version de Pennylane (0.41.1).

La documentation et certains tutoriels mentionnent pourtant cette classe. Y a-t-il eu un changement dans l’API ou un module à importer différemment ?

Merci d’avance pour votre aide !


Contexte :

  • Notebook : temperature (1).ipynb
  • Version Pennylane : 0.41.1
  • Erreur lors de l’appel à QLSTMModel contenant plusieurs couches KerasLayer.

Question :

  • Comment corriger cette erreur ?
  • La classe KerasLayer a-t-elle été déplacée ou supprimée dans les dernières versions de Pennylane ?
  • Y a-t-il une autre manière d’intégrer un circuit quantique comme couche dans un modèle Keras ?

Merci !

Hi @Riadh_Hasnaoui , welcome to the Forum!

This Forum is for questions in English. Are you able to translate your question to English please?

Thanks!

Note that the KerasLayer class in qml.qnn.keras has been removed because Keras 2 is no longer actively maintained. Please consider using a different machine learning framework, like PyTorch or JAX. You can see more breaking changes from our PennyLane 0.42 release here.

If possible I would generally recommend JAX since it will be more compatible with other features in the future.

Let us know if you have any further questions.

I hope this helps!