中にKerasトークナイザをリロード私はここのチュートリアルに従っ:(https://blog.keras.io/using-pre-trained-word-embeddings-in-a-keras-model.html)はテスト
をしかし、私はh5py
によって生成されたモデルを保存することができるようにコードを変更しました。したがって、トレーニングスクリプトを実行した後、私はmodel.h5
を私のディレクトリに生成しています。
これをロードしたいとき、私の問題は、Tokenizer
を再起動する方法について混乱していることです。
tokenizer = Tokenizer(nb_words=MAX_NB_WORDS)
tokenizer.fit_on_texts(texts)
sequences = tokenizer.texts_to_sequences(texts)
しかし、私は別のモジュールでmodel.h5
をリロードする場合仮に、私がテストセットをトークン化するために、別のTokenizer
を作成する必要があります:チュートリアルでは、次のコード行を持っています。しかし、新しいTokenizer
がテストデータに適合し、全く異なる単語表が作成されます。
したがって、私の質問は:Tokenizer
トレーニングデータセットでトレーニングされたものをどのようにリロードするのですか? KerasのEmbedding
レイヤの機能を誤解していますか?今は、あらかじめ訓練された単語の埋め込みに基づいて、対応する埋め込みベクトルに特定の単語インデックスをマッピングしたので、単語インデックスは一貫している必要があると仮定しています。ただし、テストデータセットで別のfit_on_texts
を実行すると、これは不可能です。
ありがとう、あなたの答えを楽しみにしています!
[Keras Text Preprocessing - スコアリングのためにTokenizerオブジェクトをファイルに保存する](https://stackoverflow.com/questions/45735070/keras-text-preprocessing-saving-tokenizer-object-to-file-for-スコアリング) – xenocyon