8

我在这里按照教程:(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训练数据集上训练的数据?我是否在某种程度上误解了EmbeddingKeras 中图层的功能?现在,我假设由于我们基于预先训练的词嵌入将某些词索引映射到它们相应的嵌入向量,因此词索引需要保持一致。fit_on_texts但是,如果我们在测试数据集上执行另一个,这是不可能的。

谢谢你,期待你的回答!

4

1 回答 1

2

看看这个问题 评论者建议使用泡菜来保存对象和状态,尽管问题仍然是为什么这种功能没有内置到 keras 中。

于 2017-07-05T18:15:26.930 回答