【发布时间】:2021-07-15 10:48:10
【问题描述】:
我正在做一个与 NLP 相关的项目。然后我在 google colab 中使用 One hot encoding 进行文本表示然后我将它放入 LSTM。 这是我的代码:
from tensorflow.keras.preprocessing.text import one_hot
voc_size=13000
onehot_repr=[one_hot(words,voc_size)for words in X1]
模型看起来不错,但是当我想保存它以使用新文本进行预测时,我使用 pickle 保存它:
import pickle
with open("one_hot", "wb") as f:
pickle.dump(one_hot, f)
但是当我重新启动 colab 并再次加载保存的 one_hot 时,代表单词的数字是不同的。
- 有什么方法可以保存 Onehot 并在 colab 中获得相同的结果?
因为我无法保存一个热编码以供其他时间使用,所以我将一个热表示保存为列表并稍后通过索引访问它:
## load save model
from tensorflow.keras.models import load_model
my_model=load_model("model9419.h5")
##load oneHot representation
with open('/content/drive/MyDrive/last_model/on_hot.json', 'rb') as f:
oneHot=json.load(f)
为了预测一个单词,我使用简单的数组访问元素来找到一个单词的一个热门表示。
-
这是进行预测的正确方法吗?还有比这更好的方法吗?
-
如果我可以保存 OneHot 函数,我如何在烧瓶服务器中使用?
-
还有人可以推荐简单的单词表示,可以保存在烧瓶中使用并且更好吗?
【问题讨论】:
标签: machine-learning deep-learning nlp