j'ai suivi le tutoriel ici: (https://blog.keras.io/using-pre-trained-word-embeddings-in-a-keras-model.html)Rechargement Keras Tokenizer au cours des essais
Cependant, j'ai modifié le code pour pouvoir enregistrer le modèle généré par h5py
. Ainsi, après l'exécution du script de formation, j'ai généré un model.h5
dans mon répertoire.
Maintenant, quand je veux le charger, mon problème est que je suis confus quant à la façon de re-initier le Tokenizer
. Le tutoriel a la ligne de code suivante:
tokenizer = Tokenizer(nb_words=MAX_NB_WORDS)
tokenizer.fit_on_texts(texts)
sequences = tokenizer.texts_to_sequences(texts)
Mais hypothétiquement, si je Charger à nouveau le model.h5
dans un module différent, je devrai créer une autre Tokenizer
pour tokenizer l'ensemble de test. Mais alors, le nouveau Tokenizer
sera ajusté sur les données de test créant ainsi une table de mots complètement différente. Par conséquent, ma question est: Comment recharger le Tokenizer
qui a été formé sur le jeu de données d'entraînement? Ai-je en quelque sorte mal compris la fonctionnalité de la couche Embedding
dans Keras? À l'heure actuelle, je suppose que puisque nous avons mappé certains index de mots à leurs vecteurs d'inclusion correspondants en fonction des plongements de mots pré-formés, les indices de mots doivent être cohérents. Cependant, cela n'est pas possible si nous effectuons un autre fit_on_texts
sur l'ensemble de données de test.
Merci et dans l'attente de vos réponses!
Copie possible de [Pré-traitement du texte Keras - Enregistrement de l'objet Tokenizer dans le fichier à scorer] (https://stackoverflow.com/questions/45735070/keras-text-preprocessing-saving-tokenizer-object-to-file-for- notation) – xenocyon